1

phpacademy のチュートリアルを使用してブログを作成しようとすると、php を使用して mysql にカテゴリ名を追加するときに問題が発生しました (このビデオではhttps://www.youtube.com/watch?v=JBcXMVjk83Q ) 。

作成者はこのコードを使用して、カテゴリの名前をカテゴリ テーブルに入れています。

function add_category($name) {
$name = mysql_real_escape_string($name);

mysql_query("INSERT INTO `categories` VALUES `name` = `{$name}`");

}

しかし、それは私にとってはうまくいきませんでした (PHP バージョン 5.3.3-7 および Ver 14.14 Distrib 5.1.49 を使用した debian スクイーズでテストしています)。

mysql とデータベースに正しく接続していますが、コマンド ライン経由で mysql で直接クエリを実行しようとすると、次のエラーが発生します。

ERROR 1054 (42S22): Unknown column 'uncategorized' in 'field list'

次に、このクエリの使用が機能していることに気付きました。

INSERT INTO categories(name)VALUES('uncategorized');

しかし、著者が使用したのと同じ方法を使用する方法があるかどうか、およびそれが機能していることがわかったオプションよりも優れていて、安全で、高速である (またはこれまでにない) かどうかを知りたかったのです。

ありがとう!

4

2 に答える 2

3

ここで間違った引用符を使用します。

mysql_query("INSERT INTO `categories` VALUES `name` = `{$name}`");

一重引用符を使用します。

mysql_query("INSERT INTO `categories` VALUES `name` = '{$name}'");

一重引用符はデータをフレーム化し、逆引用符は`データベース要素 (テーブル、列など) をマークするために使用されます。

于 2011-12-01T12:52:48.973 に答える
1

あなたはこのようにすることができます

mysql_query("INSERT INTO categories(name) VALUES('$name')");
于 2011-12-01T13:11:39.083 に答える