我真的不明白为什么下面的查询会出错。
$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')
有什么建议吗?
答案 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的风险。