PHP / MySQL:查询未处理(第1行x附近的语法错误)

嘿...所以我试图运行下面的查询,它不会这样做。 我检查过:

  • 表格中的字段数量与表格中的字段数量相匹配。
  • 会话变量的数量也与这些数字相匹配。
  • 实际查询包含要用回声输入的数据。
  • 表名是正确的。
  • 该查询与同一数据库中的其他表(他们的工作)。
  • 使用或死亡(mysql_error();获取“不正确的语法”错误。
  • 重建桌子几次。
  • 这里显然是语法上有问题的一条线,如果你看到它有什么问题或者指向正确的方向,我会非常棒,因为我现在处于亏损状态! 可能是一个记忆问题?

    $sql = "INSERT INTO careBoiler (buyerID, date, sector, require, boilerMake, boilerModel, boilerType, heating, visit, deadline, budget, currcompany, specificreq) VALUES ('{$_SESSION['buyerID']}', now(), '{$_SESSION['cb']['sector']}', '{$_SESSION['cb']['require']}', '{$_SESSION['cb']['boilerMake']}', '{$_SESSION['cb']['boilerModel']}', '{$_SESSION['cb']['boilerType']}', '{$_SESSION['cb']['heating']}', '{$_SESSION['cb']['visit']}', '{$_SESSION['cb']['deadline']}', '{$_SESSION['cb']['budget']}', '{$_SESSION['cb']['currcompany']}', '{$_SESSION['cb']['specificreq']}')";
    

    看起来require是一个MySQL保留字 ,您正在使用它作为列名。

    要解决这个问题,你可以选择一个不同的列名,或者把它放回去,如下所示:

    $sql = "INSERT INTO careBoiler (buyerID, date, sector, `require`,...
                                                           ^       ^
    

    这有点困难,因为你没有提供确切的错误信息。

    但是,可能是因为您使用了MySQL中的保留关键字列名'require'。 关键字'日期'也是保留的,但由于它的广泛使用,它是允许的。

    尝试更改表中的列名'require'并进行查询。

    在这里寻找更多的信息; http://dev.mysql.com/doc/refman/5.0/en/reserved-words.html

    如果不是这样,那么请提供完整的错误信息。


    作为一般的php / mysql调试策略

  • 打印出插入值的实际查询。 有时候这样做会使问题变得明显。

  • 如果有,请将查询复制并粘贴到phpMyAdmin / mysql工作台中,并查看它提供的错误消息。 如果你没有访问其中的任何一个,只需在php脚本中调用mysql_error(),看看它给了你什么错误。

  • 链接地址: http://www.djcxy.com/p/69761.html

    上一篇: PHP/ MySQL: Query not processing (syntax error near x on line 1)

    下一篇: Warning: Invalid argument supplied for foreach() in classipress