在MySQL语句执行SQL语句,绝对成功,但是在PHP里执行报错。

我已经完全可以确定SQL语句在MySQL完全可以执行,没有语法错误,但是在PHP里执行就有错误。我使用的是PDO的方法做的。先说明一下,我查阅了好多资料,重新设置数据库,添加反单引号,添加单引号,是否有使用关键字,有没没有多余逗号。。。全部查过了都没有解决问题。非常急,希望有大神可以解决我的问题,谢谢了!下面附上代码。错误在下面:连接成功数据库创建成功创建表失败: SQLSTATE[42000]: Syntax error or access violation: 1064 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 'delimiter // use stuDB// drop procedure if exists establishTab' at line 1插入数据失败: SQLSTATE[42000]: Syntax error or access violation: 1064 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 'delimiter // use stuDB// drop procedure if exists insertNumber' at line 1Process finished with exit code 0

第1个回答  2019-06-07
你应该把这个插入代码做成存储过程,把数据作为参数,不需要每次插入数据都生成一个存储过程。
exec是执行单条语句的,应该只执行了第一条,后面多的都没有执行。
你可以看下数据库里是否成功插入了数据
第2个回答  2019-06-07
把所有的换行符删除,在mysql里执行成功了再复制到php,确保sql代码只有一行。
第3个回答  2019-06-06
把php执行后的sql输出来看看,和原来的的sql哪里不一样,经过php执行之后,sql语句可能会变化追问

这是控制台输出的结果,没有什么变化。还有其他的原因吗?

本回答被提问者采纳
第4个回答  2019-06-06
远程帮解决
相似回答