【问题标题】:mysql error but works fine on mysql workbenchmysql错误但在mysql工作台上工作正常
【发布时间】:2012-04-07 14:58:39
【问题描述】:

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文章SET title='83',abstract ='Comp'附近 第 1 行的 article_id = '8'

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

【问题讨论】:

  • 将有助于获取您的 articles 表定义。
  • 出于安全原因,大多数 mysql 库每个查询只支持一个查询。把它分成两部分,它可能会工作

标签: php mysql


【解决方案1】:

您不能使用mysql_query 执行多个查询。将您的查询分成两部分(并去掉我认为的分号)并调用mysql_query 两次

【讨论】:

    【解决方案2】:

    把你的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()));
    

    【讨论】:

      猜你喜欢
      • 2015-06-03
      • 2019-03-08
      • 2012-06-24
      • 2017-10-19
      • 2016-05-28
      • 2015-11-09
      • 2016-12-21
      • 2019-02-07
      • 1970-01-01
      相关资源
      最近更新 更多