You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

phpMyAdmin调用存储过程报2014 Commands out of sync错误如何解决

报错原因及解决方案

核心原因

  • MySQL返回的#2014 - Commands out of sync; you can't run this command now错误触发逻辑:存储过程执行后会返回结果集,phpMyAdmin默认执行完自定义查询后会自动发起SET FOREIGN_KEY_CHECKS = ON的后续校验查询,此时存储过程的结果集还未被完全读取,就触发了MySQL的命令不同步限制。
  • 静态分析提示的「缺少表达式。(位置25处附近的"ON"关键字)」属于phpMyAdmin低版本的语法静态分析误判,不会影响实际SQL执行,无需单独处理。

解决方法

方案1:调整存储过程定义(推荐)

给存储过程补充DELIMITER声明和BEGIN...END封装块,让MySQL可以正确识别存储过程的执行边界,修改后的代码如下:

DELIMITER //
CREATE PROCEDURE `funcpara`(IN `uname` VARCHAR(255))
BEGIN
  SELECT ct.CUST_NM, UPPER(CUST_NM) AS UppercaseCustomerName 
  FROM customers ct
  WHERE ct.CUST_NM = uname;
END //
DELIMITER ;

删除原有存储过程后执行上述代码重新创建,再调用CALL funcpara('karthick');即可正常返回结果。

方案2:临时修改phpMyAdmin查询配置

如果不想修改存储过程,在SQL输入框填写调用语句后,勾选输入框下方的 不使用缓冲查询 选项,再点击执行即可正常返回结果。

方案3:升级phpMyAdmin版本

该问题属于phpMyAdmin 4.9版本之前的已知缺陷,升级到4.9.0及以上的正式版本后,即可规避默认自动发起后续查询导致的不同步报错。

内容的提问来源于stack exchange,提问作者Tony S

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 05:15:03