0

次のPHPステートメントで構文エラーが発生します。

mysql_query("INSERT INTO table1 (to, from, msg, field, date)  
VALUES ('TEST_TO', 'TEST_FROM', 'TEST_MSG', 'TEST_FIELD', 'TEST_DATE')");

返されるエラーは次のとおりです。

You have an error in your SQL syntax.

コードの問題は何ですか?

4

2 に答える 2

6

tofrom予約語です。それらを引用する必要があります(フィールド名であるため、バッククォートを使用)。(どれが予約されているかを覚えようとするのではなく、常にフィールド名を引用する習慣を身につける価値があります)。

于 2012-10-23T06:16:48.227 に答える
3

from、toなどの列名に予約語があります。バッククォートを使用してエスケープします。

  mysql_query("INSERT INTO table1 (`to`, `from`, `msg`, `field`, `date`)  
  VALUES ('TEST_TO', 'TEST_FROM', 'TEST_MSG', 'TEST_FIELD', 'TEST_DATE')");

注: mysql_query は非推奨です。mysqli_query または PDO 関数を使用します。

于 2012-10-23T06:16:40.573 に答える