and*_*rew 9 mysqli multi-query
我通过mysqli :: multi_query运行多个删除,它正在弄乱下一行查询.抛出以下错误.
Error - SQLSTATE HY000.
Sql error: Commands out of sync; you can't run this command now
Run Code Online (Sandbox Code Playgroud)
我是否需要以某种方式清除多重查询,以便它不会弄乱我的下一个查询?这个错误的原因是什么?
这就是我运行多重查询的方式
function deleteSomeTables($args){
$sql = 'delete 1;delete another;';
if($database->multi_query($sql)){
return true;
}else{
return false;
}
}
Run Code Online (Sandbox Code Playgroud)
我在Windows 7上使用最新版本的Xampp
ZoF*_*reX 10
通过使用mysqli :: multi_query,您将触发查询,但在继续之前需要处理这些查询的结果.该文档页面描述的处理结果的各种方式.处理完毕后,您将能够很好地执行其他查询.
您遇到的错误消息实际上在mysqli :: query的页面上解释得更好(尽管请记住,mysqli :: query在此实例中不会返回结果对象,因为您正在执行删除操作).
您当然可以将multi_query更改为多个单个查询,我不知道每种方法的优缺点是什么.
小智 10
这有助于我删除"命令不同步"错误:
do {
$mysqli_conn_obj->use_result();
}while( $mysqli_conn_obj->more_results() && $mysqli_conn_obj->next_result() );
Run Code Online (Sandbox Code Playgroud)
在调用multi_query之后添加此代码,它将使用结果集并解决错误.
归档时间: |
|
查看次数: |
9756 次 |
最近记录: |