我已经搜索了很多,并花了好几个小时,但大多数答案似乎更加完善。我似乎有一些基本的误解,我不知道哪个方面。我正在使用MySQL版本5.5.34并且我正在尝试构建存储过程,但每当我调用它时,我都会收到错误:
SELECT
s.SCHEMA_NAME,
s.DEFAULT_COLLATION_NAME
FROM `information_schema`.SCHEMATA s
GROUP BY BINARY s.SCHEMA_NAME
ORDER BY BINARY `SCHEMA_NAME` ASC
MySQL said: Documentation
#2014 - Commands out of sync; you can't run this command now
我首先定义了非常基本的程序
DROP PROCEDURE IF EXISTS get;
SET delimiter //
CREATE PROCEDURE get()
BEGIN
SELECT 'hey' AS col;
END //
SET delimiter ;
然后尝试用
调用它CALL get();
发生错误时。目前我正在phpMyAdmin界面中尝试这个。
如果你能指出我正确的方向,我会很高兴的!
由于
答案 0 :(得分:0)
使用$ this-> db-> reconnect();在调用存储过程之前
答案 1 :(得分:0)
最后,我找到了解决方案。我在OS X上使用的是一个不是最新版本的MAMP,它似乎仍然使用弃用的mysql而不是mysqli。这导致了我的问题中提到的存储过程的一些问题。
然而,更新到当前版本的MAMP解决了这个问题!