请各位达人给一些建议
以前使用的是workerman的2.X的版本,考虑到3.X的提供的api更多一些,这两天做了下升级。发现在使用mysql的时候,有一些问题 1 运行环境和2.X一致 2 query是好的,但是insert的时候,会返回-1 3 也就是读取是好的,insert会返回-1
1 那位童鞋遇到过这种情况,能否给一些建议? 2 insert应该是调用DbConnection里面的insert的,但是返回值非常简单,是否有查错的方法,geterror之类的?
非常感谢!
发下insert代码吧,这样好定位些
好的, 谢谢 用法如下:
$dbOne= Db::instance('DatabaseConfig'); $dbReturn = $dbOne->insert('login_type')->cols(array('account_id'=>$accountId, 'type'=>$type, 'type_id'=>$loginId))->query();
$dbReturn 返回 0 (抱歉昨天发错了,返回0,不是-1)
补充一下, 发现已经insert到DB里面了。 2.X如果insert成功返回值不是0,但是3.X里面会返回0. 如何利用DB相关函数的返回值判断是否操作成功?
反馈一下,应该是返回值的问题,不知道新的3.X的DB操作,如何判断是否成功,例如:insert, delete 等等。 我的临时解决方法:将2.X的DbConnection.php替换3.X的同名文件,返回值一切ok。 BTW:看到3.X的DbConnection里面的异常检测和兼容性会更好一些,请知道的童鞋告诉我如何检测,DB操作是否成功。 还是说,返回值有issue.
谢谢!
既然有两个文件了,可以用diff命令看下区别
发下insert代码吧,这样好定位些
好的, 谢谢
用法如下:
$dbOne= Db::instance('DatabaseConfig');
$dbReturn = $dbOne->insert('login_type')->cols(array('account_id'=>$accountId, 'type'=>$type, 'type_id'=>$loginId))->query();
$dbReturn 返回 0 (抱歉昨天发错了,返回0,不是-1)
补充一下, 发现已经insert到DB里面了。 2.X如果insert成功返回值不是0,但是3.X里面会返回0. 如何利用DB相关函数的返回值判断是否操作成功?
反馈一下,应该是返回值的问题,不知道新的3.X的DB操作,如何判断是否成功,例如:insert, delete 等等。
我的临时解决方法:将2.X的DbConnection.php替换3.X的同名文件,返回值一切ok。
BTW:看到3.X的DbConnection里面的异常检测和兼容性会更好一些,请知道的童鞋告诉我如何检测,DB操作是否成功。 还是说,返回值有issue.
谢谢!
既然有两个文件了,可以用diff命令看下区别