Php 如何解决分号附近的多语句mysql查询的语法错误
我正在尝试使用mysql进行多状态查询,但遇到语法错误: “您的SQL语法有错误;请检查以下手册: 对应于您的MySQL服务器版本,以便使用正确的语法 近“插入第2行的新葡萄酒(img、新订单、publi)” 奇怪的是,如果我回显查询的字符串,并尝试在Navicat上执行它,它就会毫无问题地工作 我试图使用的查询字符串是这个Php 如何解决分号附近的多语句mysql查询的语法错误,php,mysql,sql,Php,Mysql,Sql,我正在尝试使用mysql进行多状态查询,但遇到语法错误: “您的SQL语法有错误;请检查以下手册: 对应于您的MySQL服务器版本,以便使用正确的语法 近“插入第2行的新葡萄酒(img、新订单、publi)” 奇怪的是,如果我回显查询的字符串,并尝试在Navicat上执行它,它就会毫无问题地工作 我试图使用的查询字符串是这个 'BEGIN; INSERT INTO vinas_new ( img,
'BEGIN;
INSERT INTO vinas_new (
img,
new_order,
publicationDate,
active,
cover
)VALUES(
"'.$data['img'].'",
"'.$data['new_order'].'",
"'.$data['publicationDate'].'",
"'.$data['active'].'",
"'.$data['cover'].'"
);
INSERT INTO vinas_new_content (
newId,
lang,
title,
text
)VALUES(
LAST_INSERT_ID(),
"'.mysql_real_escape_string($data['lang']).'",
"'.mysql_real_escape_string($data['title']).'",
"'.mysql_real_escape_string($data['text']).'"
);
COMMIT;';
我想这和分号有关,我试着用分隔符来避免这个问题,但没有任何运气
有什么建议吗
谢谢您的时间。调试此问题的最简单方法是向我们显示
echo$sql
的结果(或存储查询的变量的名称)
然而,您似乎使用了过时的mysql\uuz
API,它:
mysql_query()向服务器上与指定链接_标识符关联的当前活动数据库发送唯一查询(不支持多个查询)
尝试切换到(或PDO)并使用(或其中的3个),这样您就不必自己转义数据(如果您想继续使用mysql\uuu
,您必须将其拆分为3个查询;或者为任务创建存储过程)
或者,如果您坚持一次完成所有操作(我看不出任何理由),您可以使用。您使用的是???mysql\u query()
不允许使用多个语句。如果有帮助,您也可以参考它。