何らかの理由で、このクエリがデータベースに送信されていませんが、エラーはありません。MySQLクエリがデータベースに送信されない、エラーが発生しない
$listingdesc2 = "'test test test','test test test'";
$category = "apple, banana";
$addlisting = mysql_query("INSERT INTO `directory` (". $category .") VALUES (". $listingdesc2 .")");
テーブル名と列名が正しいことを確認しました。私の質問に何か問題はありますか?
$listingdesc2
と何か関係があり、コンマで区切られたクエリで変数を使用しようとしています。
リンゴは、データベース内の「テストテストテスト」を返す必要があります バナナは、データベース内の「テストテストテスト」を返す必要があります
クリス、ここに私のコードの完全なスニペットは、だ上記のは本当に基本的な例でした。次のように
$listingdesc = mysql_real_escape_string($_POST['listingdesc']);
$category = $_POST['category']; //this is an array from a multiple selection checklist
$numcat = count($category);
$category = implode(", ",$category);
$listingdesc1 = "'$listingdesc'";
$a = array_fill(0, $numcat, $listingdesc1);
$listingdesc2 = implode(',', $a);
$addlisting = mysql_query("INSERT INTO `directory` (". $category .") VALUES (". $listingdesc2 .")");
は、それから私は、彼らがクエリで使用される値をエコー:SQLインジェクションを防ぐためだけにstring mysql_escape_string (string $unescaped_string)
で
$listingdesc2 = 'test test test','test test test'
$category = 'apple, banana'
FYIの値のカンマ(、)はmysqlクエリが正常に実行されていません。 –
どうすればこの問題を回避できますか? –
カンマ文字をエスケープするだけで問題ありません。 –