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

WBOY
Libérer: 2016-06-20 12:36:43
original
1123 Les gens l'ont consulté

第一种方式:
$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

感谢版主

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal