2012-03-27 153 views
1

我有這樣的代碼:使用php mysql時未終止的字符串文字錯誤?

$sql = "SELECT * FROM news order by id DESC LIMIT 10"; 
$data = array(); 
$query = mysql_query($sql); 
if(!$query) { 
    echo "Error: " . mysql_error(); 
    exit; 
} 
while($row = mysql_fetch_object($query)) { 
    $data[] = $row; 
} 

return $data; 

當我運行的代碼,結果OK,但是當我修從10限制,限制15個或更多是錯誤未結束的字符串

$sql = "SELECT * FROM news order by id DESC LIMIT 15"; // limit 15, 20 or more 
+0

您在SQL語句末尾缺少';'。您在PHP語句的末尾有一個,但不在SQL語句的末尾。 – 2012-03-27 04:01:48

+3

@DavidSchwartz不需要'';''。 ['mysql_query'](http://php.net/manual/en/function.mysql-query.php)只接受一個查詢(使分號不需要,或建議)。 – brianreavis 2012-03-27 04:04:19

回答

1

真的嗎?我不是故意聽起來居高臨下,但你是否絕對當你將10改爲15時,你確定不會覆蓋"

因爲該代碼中沒有指示不平衡的引號。如果沒有,那麼代碼中可能會出現問題(當然,我們無法看到它)。

我建議你剪切並粘貼確切代碼是導致問題。

1

這是您需要從主代碼庫中分離出的錯誤類型。 創建一個簡單的測試php腳本,連接到數據庫並執行查詢。 是否有效?如果沒有,則創建一個小樣本數據庫並對其進行測試。 如果失敗,則將create table語句與insert語句一起發佈。還發布你的代碼。可能性是你正在做主要代碼庫中的其他內容導致錯誤。

如果您的示例代碼確實起作用並且您的主代碼庫工作正常,那麼您必須跟蹤您的主代碼庫並查明您做錯了什麼。

相關問題