MySQL INSTERT INTO查询出错

时间:2016-11-19 10:21:24

标签: php mysql

我真的不明白为什么下面的查询会出错。

    $sql = "INSERT INTO telefoonnotitie
        (
            verzoek_id,
            klant_id,
            contact_id,
            offerte,
            order,
            factuur,
            bestelling,
            bericht,
            gemaakt_id,
            gemaakt,
            user_id
        )
        VALUES
        (
            '".$verzoek_id."',
            '".$klant_id."',
            '".$contact_id."',
            '".$offerte."',
            '".$order."',
            '".$factuur."',
            '".$bestelling."',
            '".$bericht."',
            '".$_SESSION['user_id']."',
            NOW(),
            '".$_SESSION['user_id']."'
        )
    ";

错误是'您的SQL语法中有错误;检查与您的MySQL服务器版本相对应的手册,以便在第7行的'order,factuur,bestelling,bericht'附近使用正确的语法

此查询的输出是

  

INSERT INTO terugbellen(verzoek_id,klant_id,contact_id,offerte,   order,factuur,bestelling,bericht,gemaakt_id,gemaakt,user_id)   价值观('1','472','1127','','','6161003','','Dit is een   testbericht','1',NOW(),'1')

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

order是一个SQL关键字。将列名称包裹在后面的刻度中,如下所示:

 $sql = "INSERT INTO telefoonnotitie
    (
        verzoek_id,
        klant_id,
        contact_id,
        offerte,
        `order`,
        factuur,
        bestelling,
        bericht,
        gemaakt_id,
        gemaakt,
        user_id
    )
    VALUES
  

建议,您应该使用Prepared Statements而不是连接查询以消除SQL Injection attacks的风险。