php在执行mysql存储过程后执行其他数据库操作问题解决方法
2016-12-01 14:30
1031 查看
问题描述:php在执行mysql存储过程后执行其他数据库操作时,报错Commands out of sync; you can't run this command now
产生原因:1、存储过程产生的结果集没有在php中获取;
2、存储过程的结果集没有被释放掉或者没有释放完全;
3、如果用mysql而非mysqli需要断开数据库再重新连接。
解决方法:1、使用mysqli驱动;
2、mysqli_multi_query来遍历所有存储过程的结果集,并释放
具体实现:
产生原因:1、存储过程产生的结果集没有在php中获取;
2、存储过程的结果集没有被释放掉或者没有释放完全;
3、如果用mysql而非mysqli需要断开数据库再重新连接。
解决方法:1、使用mysqli驱动;
2、mysqli_multi_query来遍历所有存储过程的结果集,并释放
具体实现:
//存储过程,插入tuser和tuser_props //解决存储过程后不能query问题,用mysqli_multi_query处理 if (mysqli_multi_query($con,"call sp_reg('$udid','$loginName', '$loginPwd', '$userName','$userPic',''); ")) { do { if ($result = mysqli_store_result($con)) { while ($row = mysqli_fetch_row($result)) { $resultSign = $row[0]; } mysqli_free_result($result); } } while (mysqli_next_result($con)); } if($resultSign == '1'){ $sql2 = "SELECT * FROM `tuser` WHERE username = '$loginName' "; $result2 = mysqli_query($con,$sql2); if(mysqli_num_rows($result2) > 0) { $row = mysqli_fetch_array($result2); $json = array("sign"=>"1","userNo"=>$row["no"],"userName"=>$row["nickname"],"headicon"=>$row["headicon"]); $result2->close(); mysqli_close($con); die(json_encode($json)); }else{ $json = array("sign"=>"0", "result"=>"Error0.".mysqli_error($con)); mysqli_close($con); die(json_encode($json)); } }else{ $json = array("sign"=>"0", "result"=>"Error0.".mysqli_error($con)); mysqli_close($con); die(json_encode($json)); }
相关文章推荐
- [ASP/PHP/JSP]MySQL5.0中文问题及JDBC数据库连接和JSP汉字编码问题解决方法总结
- PHP执行函数超时,执行数据库超时等问题解决方法(9元包邮)
- MYSQL+PHP5.2.17+IIS5.1不能连接数据库问题解决方法
- mysql执行存储过程中报权限不足的错误解决方法 3ff8
- PHP使用PDO操作数据库的乱码问题解决方法
- PHP使用PDO操作数据库的乱码问题解决方法
- MySQL存储过程详解 mysql 存储过程mysql存储过程详解 1. 存储过程简介 我们常用的操作数据库语言SQL语句在执行的时候需要要先编译,然后执行,而存储过程(Stored
- 【PHP】【Mysql】【thinkphp】,Thinkphp save()方法执行update操作的返回值问题
- MySQL---数据库从入门走向大神系列(八)-在java中执行MySQL的存储过程
- 解决存储过程执行快,但程序调用则执行慢的问题
- mysql的存储过程和触发器的使用 以及php中的调用方法
- 数据库之-------Mysql(JDBC实现&解决存储乱码问题)
- sql server service broker中调用存储过程执行跨库操作,不管怎么设置都一直提示 服务器主体 "sa" 无法在当前安全上下文下访问数据库 "dbname"。
- mysql存储过程中 乱码问题解决办法
- 存储过程使用逗号分隔作为IN参数疑难问题解决方法【真正解决】
- php命令行(cli)下执行PHP脚本文件的相对路径的问题解决方法
- php命令行(cli)下执行PHP脚本文件的相对路径的问题解决方法
- Mac下执行php遇到Allowed memory size of 134217728 bytes exhausted问题解决方法
- php + apache 环境搭建过程中出现的问题及解决方法
- Delphi XE8中开发DataSnap程序常见问题和解决方法 (二)想对DBExpress的TSQLDataSet写对数据库操作的SQL语句出错了!