ThinKPHP5调用储存过程与手动执行储存过程结果不同的问题

1、tp已经集成了pdo,那么如何使用框架方法调起pdo了?

use think\facade\Db;
$instance = Db::connect(); //如果有多个数据库,可填写数据库配置标识(database中配置的键名,非数据库名),默认为mysql
 
$instance->execute("SELECT 1");     //如果是【数据】增删改查直接运行
$instance->getPdo()->exec($sql);    //如果是【数据表】的增删查改,需要通过excute或query获取pdo实例,
                                    //在执行exec。这里必须是exec

ThinKPHP5调用储存过程与手动执行储存过程结果不同的问题

Db::startTrans();
//直接通过Db类执行sql
Db::execute("execute sp_MatStoreNowAll   '2022-07-07 17:24:24','01','DateOut','0','PDate','',''");
Db::commit();

在这里插入图片描述
解决办法:先通过Db类获取当前数据库连接,再获取pdo对象,用pdo对象执行存储过程。

$conn= Db::connect();
$conn->getPdo()->exec("execute sp_MatStoreNowAll   '2022-07-07 17:24:24','01','DateOut','0','PDate','',''");

$conn= Db::connect();
$res=$conn->getPdo()->exec("execute sp_fastconsumeaotu '$cardno','$sn','$recordindex','$recorddoorno'");
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值