Home >Backend Development >PHP Tutorial >PHP mysql_query() 执行存储过程报错喽

PHP mysql_query() 执行存储过程报错喽

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOriginal
2016-06-20 12:36:431162browse

第一种方式:
$data = mysql_query("CALL DB.Query('11',‘S’)");
if(!$data){
dump(mysql_error());
}
这种方式查询正常,没问题!

第二种方式:
$data = mysql_query("SET @A = '11',@B='S'; CALL DB.Query(@A,@B);");
if(!$data){
dump(mysql_error());
}
这样就报错了
"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CALL bi.gm_queryRoleLoginLogOutLog(@A,@B); ' at line 1"

就想知道啥原因,麻烦啦


回复讨论(解决方案)

SET @A = '11',@B='S';这个是存储过程里的写法吧,
mysql_query里面你就写单纯的SQL语句

@tata8181
大哥 在调用存储过程写SQL的时候这种写法是没问题的

mysql_query 一次只能执行一条指令
请改用 mysqli_multi_query

感谢版主

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn