mysql执行存储过程提示out of_PHP执行MYSQL存储过程报错:Commands out of sync; you can't run...
php中在同时执行2个存储过程时,有一个程序2个储存过程都执行,有一个程序只执行第一个调用。2个都执行的调用如下:
$mydb->query("delete from pinfo where id in(" . $id .
")");
SaveLog($Ptype, $_SESSION["username"]. " Delete ".$Ptype." [ID=" .
$id . "]");
只有第一个存储过程执行的程序如下:
$uresult = $mydb->query("call
Addnews('".$strname."','".$source."','".$strtitle."','".$strContent."','".time()."',@uresult)");
SaveLog($Ptype, $_SESSION["username"]. " Add ".$Ptype." [title=" .
$strtitle . "]");
$nResult = mysql_fetch_row($uresult);
$nResult = $nResult[0];
其中函数SaveLog内容如下:
Function SaveLog($strMessageType,$strMsg)
{ mysql_query("call
SaveManageLog('".$strMessageType."','".strFilter($strMsg).
"',".time().")"); }
把不执行第2个储存过程的echo出来,放在mysql里单独是可执行的。那么问题出在那呢?
mysql_query($command) or die(msyql_error())
把mysql_query后加上 or die(msyql_error())显示错误,提示Commands out of
sync; you can't run this command now
解决如下:
$mysqli = new
mysqli("localhost", "root", "sbqcel", "test");
$mysqli->multi_query("call
Addnews('".$strname."','".$source."','".$strtitle."','".$strContent."','".time()."',@uresult)"); $uresult
=$mysqli->store_result();
$nResult =
$uresult->fetch_row();
$uresult->close();
$mysqli->close();
SaveLog($Ptype,
$_SESSION["username"]. " Add ".$Ptype." [title=" . $strtitle .
"]");
现在2个存储过程都可以执行了。注意:如果第一个调用返回值,那么第2个就不能执行,这里就要用到mysql的mysqli
mysql执行存储过程提示out of_PHP执行MYSQL存储过程报错:Commands out of sync; you can't run...相关推荐
- mysql error:2014 Commands out of sync; you can't run this command now
最近在项目中经常会出现数据库操作失败的,日志抛出的错误的 Commands out of sync; you can't run this command now.但是把具体的这条sql语句放到可视化 ...
- Superset执行「superset db upgrade」命令的报错记录
Superset执行「superset db upgrade」命令的报错记录 文章目录 Superset执行「superset db upgrade」命令的报错记录 零.写在前面 一.「superse ...
- 执行./node_modules/,bin/sequelize migration:create --name UserInit报错无法加载
执行./node_modules/,bin/sequelize migration:create --name UserInit报错无法加载,参考网址 后执行Set-ExecutionPolicy - ...
- mysql5.7 delimiter_percona MYSQL 5.7.13 5.7.14 MYSQLDUMP 导入报错delimiter (修改MYSQLDUMP代码)...
percona MYSQL 5.7.13 5.7.14 MYSQLDUMP 导入报错delimiter (修改MYSQLDUMP代码) 重庆八怪 2016-09-26 15:12:22 浏览1094 ...
- Qt Creator 或者VS+Qt运行OpenGL程序,部分opengl语句执行,但部分效果没有出现,且报错。
Qt Creator 或者VS+Qt运行OpenGL程序,部分opengl语句执行,但部分效果没有出现,且报错. QWindowsEGLStaticContext::create: Could not ...
- 关于Cause: java.lang.ClassNotFoundException: Cannot find class: 0(提示找不到类)报错
关于Cause: java.lang.ClassNotFoundException: Cannot find class: 0(提示找不到类)报错 搭建mybatis架构过程中idea包出这么一个莫名 ...
- MySQL 新增字段(alter table add column),报错:Duplicate entry
问题 执行一个增加字段的DDL语句脚本时,报错,错误如下: Error 1062: Duplicate entry 'c51d3db8-59a5 2022-06-28 17:59:59' for ke ...
- MySQL使用root用户给某用户分配权限报错:Access denied for user 'root'@'%' to database 'xxx'
这个错误相信很多人都遇到过,一般我们想到的第一点就是没有授权,然后一条命令走起: grant all on xxxx.* to 'root'@'%' identified by 'password' ...
- mysql 堆叠查询_SQL 注入方法 - 盲注、报错注入、UNION查询注入与堆叠注入
盲注 关键点是 根据页面返回内容分析 Payload 中的问题是否为真,然后通过多次测试遍历出想要的数据 布尔盲注 目标地址:http://newspaper.com/items.php?id=2 对 ...
最新文章
- c# 带返回值的action_C#知识点讲解之C#delegate、event、Action、EventHandler的使用和区别...
- rhel6ACL权限
- 【Android 逆向】Android 进程注入工具开发 ( 系统调用 | Android NDK 中的系统调用示例 )
- excel几个表合成一张_快速将多个excel表合并成一个excel表
- MVC4项目中验证用户登录一个特性就搞定
- kafka的分区策略(partition assignment strategy)
- 关于fi dd ler 手机抓包 网卡地址地址_136w、136nw、138pnw 通过手机设置无线连接
- 雪城大学信息安全讲义 4.3~4.4
- [leetcode] 95. 不同的二叉搜索树 II
- 实现多楼层,每个楼层多房间,上下拖动切换楼层,左右拖动查看其他房间
- 最新数据:中国一二三四五线城市排名出炉!
- 提高iOS开发效率的第三方框架(更新中)
- 编码器如何推流给虎牙直播平台
- 项目总是延期令人头疼?Tracup帮你做好项目进度管理
- Arch Linux 安装 Anbox
- 微信开发者模式php,php 开启微信公众号开发者模式
- Unity 视频播放
- 如何让网站变成黑白色或者灰色?
- SQL Server 数据库实验课第九周——第六章总结
- Win11怎么打开3D查看器
热门文章
- 关于增强学习你应该了解的五件事儿
- MaxCompute Console 实用小命令
- 阿里云MaxCompute印度开服,加速大数据产业升级
- 什么? 搞不定redis分布式锁?
- 谷歌10月15日发布 Pixel 4;高通以31亿美元收购与TDK公司权益;甲骨文、VMware就云技术及支持达成协议……...
- 微服务、Kubernetes和无服务器之后,即将发生的……
- python 闭包_Python中的闭包
- python多线程操作字典_在Python中使用带有线程的全局字典
- oracle导出命令位置,ORACLE 导出导入命令说明
- 宿主机进程挂载到容器内_迄今为止最严重的容器逃逸漏洞:Docker cp命令漏洞分析(CVE201914271)...