Workerman-Mysql-Connection能不能增加lastParams?

klyz505

Workerman\Mysql\Connection能不能增加lastParams?

比如代码:

$dr = $this->DB
    ->select("*")
    ->from('tablename')
    ->where('user_id = :user_id')->bindValues(array('user_id'=>$user_id))
    ->where('field_id = :field_id')->bindValues(array('field_id'=>$field_id))
    ->where('field_1 = :field_1')->bindValues(array('field_1'=>$field_1))
    ->where('field_2 = :field_2')->bindValues(array('field_2'=>$field_2))
    ->row();
$lastSql = $this->DB->lastSQL();//这里,得到上面的SQL语句
if(!$dr){
    //执行插入等
    //...

    //这里了!要重新读取一遍,使用 $lastSql 去执行 不可行,因为$lastSql得到的是含 :user_id 这些的SQL语句。。。但是PDO用bindParam方法要绑的参数没法得到。。。把上面那行一大堆代码在这里重新写一遍,又不利于维护。。。
}

为了解决这个问题,本来想写个类继承自 Workerman\Mysql\Connection 并增加 lastParams(),但发现不改原来的代码,增加不了。。。

官方能不能帮新增这个东西,我不想改官方的这个 Workerman\Mysql\Connection 类,因为那样意味了以后不方便升级了。。。

787 1 0
1个回答

walkor 打赏

你直接改,然后发个pull request,这边合并你的代码

  • 暂无评论
年代过于久远,无法发表回答
×
🔝