2016-09-24 20 views
-1

私はこのコードを持っている:不明なSQL構文エラーPHP PDO

try { 

    $sql = "INSERT INTO order(
       user_id, 
       departure_street, 
       departure_housenr, 
       departure_postalcode, 
       departure_city, 
       arrival_street, 
       arrival_housenr, 
       arrival_postalcode, 
       arrival_city, 
       order_date, 
       lifter, 
       order_status 
      ) 
      VALUES(
       :user_id, 
       :departure_street, 
       :departure_housenr, 
       :departure_postalcode, 
       :departure_city, 
       :arrival_street, 
       :arrival_housenr, 
       :arrival_postalcode, 
       :arrival_city, 
       :order_date, 
       :lifter, 
       :order_status 
      )"; 

    $stmt = $dbh -> get_instance() -> prepare($sql); 

    $stmt -> execute(array(':user_id' => $_SESSION[ 'user_id' ], 
          ':departure_street' => $street1_parsed, 
          ':departure_housenr' => $streetnumber1, 
          ':departure_postalcode' => $postcode1, 
          ':departure_city' => $city1_parsed, 
          ':arrival_street' => $street2_parsed, 
          ':arrival_housenr' => $streetnumber2, 
          ':arrival_postalcode' => $postcode2, 
          ':arrival_city' => $city1_parsed, 
          ':order_date' => $datetime, 
          ':lifter' => $lifter, 
          ':order_status' => $order_status)); 

} 
catch(PDOException $e) { 

    echo $e -> getMessage() . '<br />' . $sql; 

} 

このコードは、私は、このエラー与え続けて:私は、構文と間違っている可能性が何を理解していない

SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order( user_id, departure_street, ' at line 1

を。私はこのクエリを何度も使用してきました。今何が問題なの?私はecho$sql変数を試して、結果のクエリがどのようなものか見てみましたが、挿入されている値は表示されません。誰もSQL構文エラーを見ることができますか?

+4

を使用mysqlは ''(backticks)の中にそれをラップします –

+0

あなたの 'クエリ'を印刷していますか? – Karthi

+0

@AbhikChakrabortyくそー、これは、予約されたSQLキーワードが私を台無しにする2回目です。ありがとう:) –

答えて

1

ORDERは.ITがあなたのテーブル名や列名.IFバッククォートで囲む必要がありmysqlのキーワードであるキーワードであるだけで注文がで予約語にバッククォートorderバッククォート ``

here you can find the mysql keywords list

+0

ありがとう私は8分(あなたのロジック)あなたの答えを受け入れるよ:/ –

関連する問題