2

我正在使用现成的脚本使用 PHP 备份我的 MySQL 数据库。我将结果查询存储在一个变量中。

如果我回显变量,并将输出复制粘贴到 MySQL 控制台中,它会完美运行。

但是当我使用“mysql_query”运行相同的程序时(我知道它已被贬值,请忽略它),我得到了可怕的语法错误。

这是回声输出(前 2 行):

插入assign 值('75085','rsam','CE0001/CZ0001/CPE183/CSC183','1','1','3.0','13','1','1','13', '2','10.00','117.00','0','0');插入assign 值('75086','rsam','CE0001/CZ0001/CPE183/CSC183','1','2' ,'3.0','13','1','1','13','2','10.00','97.50','0','0');

这是确切的错误:

您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在 'INSERT INTO assign VALUES('75085','rsam','CE0001/CZ0001/CPE183/CSC183','1','1'' 行附近使用的正确语法1

如果有人能指出我显然缺少什么,我将不胜感激!

4

2 回答 2

3

正如文档mysql_query()所说:

mysql_query()向与指定关联的服务器上的当前活动数据库发送唯一查询(不支持多个查询link_identifier) 。

您可能对以下内容感兴趣mysql_multi_query()

执行一个或多个由分号连接的查询。

于 2013-10-12T03:43:25.397 回答
2

虽然mysql_query仅限于一条语句,但可以避免这种情况,因为只需一条语句即可将多条记录插入同一个表中:

INSERT INTO assign (...)
VALUES(...),
VALUES(...);

mysql_query这将节省可能很重要的往返延迟(超过多个)。

请参阅在 mysql 中插入多行

于 2013-10-12T03:54:54.457 回答