當我寫死我這樣的查詢,查詢返回正確的結果:MySQL查詢不與PHP變量工作
$data = mysql_query("SELECT * FROM $table_name WHERE post_ID = '1'") or
die(mysql_error());
但是當我使用這樣的PHP變量,查詢不返回任何結果:
$data = mysql_query("SELECT * FROM $table_name WHERE post_ID = '$ID'") or
die(mysql_error());
我已經初始化的變量上面如下:
$ID = $_POST[ID];
和可變屢試不爽有這樣的說法:
$sql = "INSERT INTO $table_name (post_ID, user_name, comments)
VALUES ('$ID','$name', '$comment')";
所以我不明白爲什麼變量將正確地插入到我與以前的聲明SQL表,但不與查詢工作。我在sql_table中爲post_ID字段使用了一個varchar數據類型。
[**請不要在新代碼**中使用'mysql_ *'函數](http://bit.ly/phpmsql)。他們不再被維護[並且被正式棄用](http://j.mp/XqV7Lp)。看到[**紅框**](http://j.mp/Te9zIL)?學習[*準備的語句*](http://j.mp/T9hLWi),並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli) - [這篇文章](http://j.mp/QEx8IB)將幫助你決定哪個。如果你選擇PDO,[這裏是一個很好的教程](http://j.mp/PoWehJ)。 – 2013-03-06 05:46:55
它應該是'$ ID = $ _POST ['ID'];'不.. ..? – MatRt 2013-03-06 05:47:22
$ _POST [ID];仍然認爲它是一個字符串,提供的ID沒有被定義爲一個常量。 (請注意它會引發警告級別的錯誤)所以不一定,但你可能是正確的。 – Mechzeit 2013-03-06 05:49:05