咨询升级后mysql使用的问题

brant

请各位达人给一些建议

以前使用的是workerman的2.X的版本,考虑到3.X的提供的api更多一些,这两天做了下升级。发现在使用mysql的时候,有一些问题
1 运行环境和2.X一致
2 query是好的,但是insert的时候,会返回-1
3 也就是读取是好的,insert会返回-1

1 那位童鞋遇到过这种情况,能否给一些建议?
2 insert应该是调用DbConnection里面的insert的,但是返回值非常简单,是否有查错的方法,geterror之类的?

非常感谢!

3371 4 0
4个回答

walkor

发下insert代码吧,这样好定位些

  • brant 2015-10-30

    好的, 谢谢
    用法如下:

    $dbOne= Db::instance('DatabaseConfig');
    $dbReturn = $dbOne->insert('login_type')->cols(array('account_id'=>$accountId, 'type'=>$type, 'type_id'=>$loginId))->query();

    $dbReturn 返回 0 (抱歉昨天发错了,返回0,不是-1)

brant

补充一下, 发现已经insert到DB里面了。 2.X如果insert成功返回值不是0,但是3.X里面会返回0. 如何利用DB相关函数的返回值判断是否操作成功?

  • 暂无评论
brant

反馈一下,应该是返回值的问题,不知道新的3.X的DB操作,如何判断是否成功,例如:insert, delete 等等。
我的临时解决方法:将2.X的DbConnection.php替换3.X的同名文件,返回值一切ok。
BTW:看到3.X的DbConnection里面的异常检测和兼容性会更好一些,请知道的童鞋告诉我如何检测,DB操作是否成功。 还是说,返回值有issue.

谢谢!

  • 暂无评论
walkor

既然有两个文件了,可以用diff命令看下区别

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