Heim > Backend-Entwicklung > PHP-Tutorial > PHP mysql_query() 执行存储过程报错喽

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

WBOY
Freigeben: 2016-06-20 12:36:43
Original
1139 Leute haben es durchsucht

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

感谢版主

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage