2016-11-19 6 views
1

以下のクエリでエラーが発生する理由を理解できません。MySQL INSTERT INTOクエリのエラー

$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サーバのバージョンに対応するマニュアルをチェック「順序を、factuur、bestelling、bericht、」7' 行目で

をこのクエリの出力は

INSERT INTO terugbellenですVALUES( '1'、 '472'、 '1127'、 ''、 ''、 '6161003'、 ''、 '、'、 '、'、 '、'、 ' '、' Dit is ech testbericht '、' 1 '、NOW()、' 1 ')

いずれかの候補ns?

答えて

2

orderは、SQLキーワードです。このように、バックティックでその列名をラップ:

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

提案は、あなたが本当に代わりSQL Injection attacksのリスクを排除するためにクエリを連結のPrepared Statementsを使用する必要があります。

+0

ありがとうマグナス! – Muiter