以下是我的PHP代碼SQL語句是給我一個錯誤,它儘管
$till=2;
$tilll=$till + 5;
$result = mysql_query("SELECT * FROM test where id >=".$till."AND id <= ".$tilll)
當我運行它看起來罰款我得到以下信息
您的SQL錯誤句法;檢查手冊中 對應於你的MySQL服務器版本正確的語法使用 附近的「身份證< = 7」在1號線
我不知道什麼是錯的呢?
以下是我的PHP代碼SQL語句是給我一個錯誤,它儘管
$till=2;
$tilll=$till + 5;
$result = mysql_query("SELECT * FROM test where id >=".$till."AND id <= ".$tilll)
當我運行它看起來罰款我得到以下信息
您的SQL錯誤句法;檢查手冊中 對應於你的MySQL服務器版本正確的語法使用 附近的「身份證< = 7」在1號線
我不知道什麼是錯的呢?
如果你嘗試顯示你的查詢,我想你會看到錯誤。 SQL可能看起來像這樣:
SELECT * FROM test where id >=2AND id <= 7
您在AND之前缺少空格。試試這個:
$result = mysql_query("... id >=".$till." AND id <= ".$tilll)
# ^extra space here
您還需要用分號終止PHP語句。我假設你正在這樣做,只是忘了發佈它,但最好仔細檢查在正確的地方是否有分號。
我還建議你使用的BETWEEN
代替id >= ... AND id <= ...
,那你給你的變量明智的名字:
$sql = "SELECT * FROM test WHERE id BETWEEN " . $min_id . " AND " . $max_id;
$result = mysql_query($sql);
if ($result) {
# Read results.
} else {
# Handle error.
}
空間爲了調試這樣的事情,它將查詢保存爲字符串是有意義的,並在執行之前將其轉儲。
$query = "SELECT ...";
print "Query: '$query'";
$result = mysql_query($query);
感謝@jonathon :) – Yahoo 2012-04-22 11:49:39
謝謝:) 我真的惹惱:) – Yahoo 2012-04-22 11:44:06