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...相关推荐

  1. 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语句放到可视化 ...

  2. Superset执行「superset db upgrade」命令的报错记录

    Superset执行「superset db upgrade」命令的报错记录 文章目录 Superset执行「superset db upgrade」命令的报错记录 零.写在前面 一.「superse ...

  3. 执行./node_modules/,bin/sequelize migration:create --name UserInit报错无法加载

    执行./node_modules/,bin/sequelize migration:create --name UserInit报错无法加载,参考网址 后执行Set-ExecutionPolicy - ...

  4. 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 ...

  5. Qt Creator 或者VS+Qt运行OpenGL程序,部分opengl语句执行,但部分效果没有出现,且报错。

    Qt Creator 或者VS+Qt运行OpenGL程序,部分opengl语句执行,但部分效果没有出现,且报错. QWindowsEGLStaticContext::create: Could not ...

  6. 关于Cause: java.lang.ClassNotFoundException: Cannot find class: 0(提示找不到类)报错

    关于Cause: java.lang.ClassNotFoundException: Cannot find class: 0(提示找不到类)报错 搭建mybatis架构过程中idea包出这么一个莫名 ...

  7. MySQL 新增字段(alter table add column),报错:Duplicate entry

    问题 执行一个增加字段的DDL语句脚本时,报错,错误如下: Error 1062: Duplicate entry 'c51d3db8-59a5 2022-06-28 17:59:59' for ke ...

  8. MySQL使用root用户给某用户分配权限报错:Access denied for user 'root'@'%' to database 'xxx'

    这个错误相信很多人都遇到过,一般我们想到的第一点就是没有授权,然后一条命令走起: grant all on xxxx.* to 'root'@'%' identified by 'password' ...

  9. mysql 堆叠查询_SQL 注入方法 - 盲注、报错注入、UNION查询注入与堆叠注入

    盲注 关键点是 根据页面返回内容分析 Payload 中的问题是否为真,然后通过多次测试遍历出想要的数据 布尔盲注 目标地址:http://newspaper.com/items.php?id=2 对 ...

最新文章

  1. c# 带返回值的action_C#知识点讲解之C#delegate、event、Action、EventHandler的使用和区别...
  2. rhel6ACL权限
  3. 【Android 逆向】Android 进程注入工具开发 ( 系统调用 | Android NDK 中的系统调用示例 )
  4. excel几个表合成一张_快速将多个excel表合并成一个excel表
  5. MVC4项目中验证用户登录一个特性就搞定
  6. kafka的分区策略(partition assignment strategy)
  7. 关于fi dd ler 手机抓包 网卡地址地址_136w、136nw、138pnw 通过手机设置无线连接
  8. 雪城大学信息安全讲义 4.3~4.4
  9. [leetcode] 95. 不同的二叉搜索树 II
  10. 实现多楼层,每个楼层多房间,上下拖动切换楼层,左右拖动查看其他房间
  11. 最新数据:中国一二三四五线城市排名出炉!
  12. 提高iOS开发效率的第三方框架(更新中)
  13. 编码器如何推流给虎牙直播平台
  14. 项目总是延期令人头疼?Tracup帮你做好项目进度管理
  15. Arch Linux 安装 Anbox
  16. 微信开发者模式php,php 开启微信公众号开发者模式
  17. Unity 视频播放
  18. 如何让网站变成黑白色或者灰色?
  19. SQL Server 数据库实验课第九周——第六章总结
  20. Win11怎么打开3D查看器

热门文章

  1. 关于增强学习你应该了解的五件事儿
  2. MaxCompute Console 实用小命令
  3. 阿里云MaxCompute印度开服,加速大数据产业升级
  4. 什么? 搞不定redis分布式锁?
  5. 谷歌10月15日发布 Pixel 4;高通以31亿美元收购与TDK公司权益;甲骨文、VMware就云技术及支持达成协议……...
  6. 微服务、Kubernetes和无服务器之后,即将发生的……
  7. python 闭包_Python中的闭包
  8. python多线程操作字典_在Python中使用带有线程的全局字典
  9. oracle导出命令位置,ORACLE 导出导入命令说明
  10. 宿主机进程挂载到容器内_迄今为止最严重的容器逃逸漏洞:Docker cp命令漏洞分析(CVE201914271)...