mysql错误但在mysql工作台上运行正常

时间:2012-03-23 00:37:25

标签: php mysql

MySQL Query使用MySQL工作台正常工作但在我通过PHP执行时会产生错误。

$sql = "INSERT INTO authors (submission_id, first_name, last_name, email, affiliation, country)
VALUES ('83', 'Chris', 'Hobbit', 'asfasf@gmail.com','Maryland', 'PK');

UPDATE articles
SET title='83',
abstract = 'Comp'
where article_id = '83'; 
"; 

$result = Model::getConnection()->query($sql) or die(mysqli_error(Model::getConnection()));

这是我从PHP获得的错误。

  

您的SQL语法有错误;检查手册   对应于您的MySQL服务器版本,以便使用正确的语法   'UPDATE articles SET title =''''',abstract ='Comp'在哪里   第1行的article_id ='8'

然而,这个相同的SQL脚本在MySQL工作台上运行良好。问题是什么?

2 个答案:

答案 0 :(得分:2)

您无法使用mysql_query执行多个查询。将您的查询拆分为两个(并删除我认为的分号)并调用mysql_query两次

答案 1 :(得分:0)

将sql语句放在两个变量上

 $query = "INSERT INTO authors (submission_id, first_name, last_name, email, affiliation, country)
 VALUES ('83', 'Chris', 'Hobbit', 'asfasf@gmail.com','Maryland', 'PK')";

 $query1 = "UPDATE articles SET title='83', abstract = 'Comp' where article_id = '83'"; 

然后执行您的查询:

 $result = Model::getConnection()->query($query) or die(mysqli_error(Model::getConnection()));
 $result = Model::getConnection()->query($query1) or die(mysqli_error(Model::getConnection()));