2
$query = "INSERT INTO textbooks (uid, title, edition, author, isbn, condition, description, photo) VALUES (9, 'q', 'a', 'b', 'c', 'd', 'e', '$extension')";

$result = mysql_query($query) or die('Could not connect: ' . mysql_error());

Could not connect: 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 'condition, description, photo) VALUES (9, 'q', 'a', 'b', 'c', 'd', 'e', '.jpg')' at line 1

MySQLの構文エラーが発生しましたが、何が問題なのかを一生理解できません。テストのために確率変数、文字列、intを配置しましたが、機能していません。

  1. タイトル、エディション、作者、isbn、状態、説明、写真はすべてvarcharsです
  2. uidはintです
  3. 説明はテキストです
4

6 に答える 6

5

conditionmysqlの予約語です。`condition`を使用する

于 2012-04-10T05:12:50.247 に答える
4

条件MySQLの予約語です。

于 2012-04-10T05:11:12.140 に答える
1

これを試して :

$query = "INSERT INTO `textbooks` (`uid`, `title`, `edition`, `author`, `isbn`, `condition`, `description`, `photo`) VALUES (9, 'q', 'a', 'b', 'c', 'd', 'e', '$extension')";
于 2012-04-10T05:11:26.320 に答える
0

「条件」というフレーズは、MySQLでは予約語です。それを別のものに変更するか、「condition」を使用するだけで、うまくいくはずです。

単語の詳細については、ここを参照してください:http: //dev.mysql.com/doc/mysqld-version-reference/en/mysqld-version-reference-reservedwords-5-5.html

また、UIDを手動で指定する特別な理由はありますか?自動インクリメントはほとんどのアプリケーションに適しているため、それを適切に使用していることを確認してください。

于 2012-04-10T05:12:52.720 に答える
0

条件はmySql予約キーワードであるため、これをフィールド名として使用しない場合がありconditionます。クエリではこのように使用できます。

于 2012-04-10T05:15:31.613 に答える
0

条件の代わりに別の単語を使用してください。またはを使用しますcondition

于 2012-04-10T05:17:21.073 に答える