我正在使用现成的脚本来使用PHP备份我的MySQL数据库。我将结果查询存储在变量中。
如果我回显变量,并将输出复制粘贴到MySQL控制台,它就能完美运行。
但是当我使用'mysql_query'(我知道它被折旧,请忽略它)运行相同时,我得到了可怕的语法错误。
这是回声输出(前2行):
INSERT INTO
assign
VALUES( '75085', 'RSAM', 'CE0001 / CZ0001 / CPE183 / CSC183', '1', '1', '3.0', '13', '1', '1', '13','2 ”,'10 0.00' , '117.00', '0', '0'); INSERT INTOassign
VALUES( '75086', 'RSAM', 'CE0001 / CZ0001 / CPE183 / CSC183', '1', '2', '3.0', '13', '1', '1', '13','2 ”,'10 0.00' , '97.50', '0', '0');
这是确切的错误:
您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 'INSERT INTO
assign
附近 VALUES('75085','rsam','CE0001 / CZ0001 / CPE183 / CSC183','1','1''在第1行
如果有人能指出我明显缺少的东西,我将不胜感激!
答案 0 :(得分:3)
正如mysql_query()
的文档所说:
mysql_query()
向与指定link_identifier
关联的服务器上的当前活动数据库发送唯一查询(不支持多个查询)。
您可能对mysql_multi_query()
感兴趣:
执行由分号连接的一个或多个查询。
答案 1 :(得分:2)
虽然mysql_query
仅限于一个语句,但可以避免这种情况,因为只有一个语句可以将多个记录插入到同一个表中:
INSERT INTO assign (...)
VALUES(...),
VALUES(...);
这将节省往返延迟(超过多个mysql_query
),这可能很重要。