【问题标题】:MySQL Error - "You have an error in your SQL syntax" on insertMySQL 错误 - 插入时“您的 SQL 语法有错误”
【发布时间】:2015-12-01 23:04:55
【问题描述】:

我收到的错误消息:

您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在“INSERT INTO 帐户(balance,interest)附近使用的正确语法 VALUES(0, 1.5)' 在 INSERT INTO 帐户的第 4 行 (id_user, interest) 价值(73,“储蓄”); 插入余额(balanceinterest) 值(0,1.5)

我的 PHP 代码是:

$query = "INSERT INTO accounts(`id_user`, `type`)
          VALUES($userid, '$type');

          INSERT INTO balance(`balance`, `interest`)
          VALUES(0, $interest)";

我的第一个猜测是我的查询有问题,所以我尝试在 phpMyAdmin 中运行完全相同的查询,它运行良好。

有什么可能出错的建议吗?

【问题讨论】:

  • 您可能正在使用只允许单个语句而不是复合语句的接口函数。
  • 我正在使用mysql_query()

标签: php mysql sql


【解决方案1】:

戈登林诺夫是正确的。

来自天空中的伟大手册。

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

http://php.net/manual/en/function.mysql-query.php

改变

$query = "INSERT INTO accounts(`id_user`, `type`)
          VALUES($userid, '$type');

          INSERT INTO balance(`balance`, `interest`)
          VALUES(0, $interest)";

$query = "INSERT INTO accounts(`id_user`, `type`)
          VALUES($userid, '$type');";
result = mysql_query($query);

$query="INSERT INTO balance(`balance`, `interest`)
          VALUES(0, $interest)";
result = mysql_query($query);

【讨论】:

    【解决方案2】:

    您是否使用 mysqli 来运行它?我怀疑你在一个语句中运行了两个查询,你需要使用 mysqli_multi_query 函数来同时执行多个查询。

    Mysqli 手册页在multi_query

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-08-25
      • 2012-10-10
      • 1970-01-01
      • 2013-02-01
      • 1970-01-01
      • 2016-12-30
      • 1970-01-01
      相关资源
      最近更新 更多