2010-12-21 106 views
0

我一直在使用它很長一段時間,現在它停止工作。我只是不明白PHP爲什麼會改變你。有人幫忙。我的工作良好的PHP腳本不再工作

問題是與這兩條線:

$res = mysql_query("SELECT num FROM ywsite WHERE item='sitehits'", $db); 
$num = mysql_result($res,0,"num"); 

這裏的腳本的其餘部分:

<?php 
    $res = mysql_query("SELECT num FROM ywsite WHERE item='sitehits'", $db); 
    $num = mysql_result($res,0,"num"); 
    $equals = $num + 1; 
    mysql_query("UPDATE ywsite SET num='$equals' WHERE item='sitehits'"); 
?> 
+1

你會得到哪個錯誤? – 2010-12-21 13:04:32

+0

什麼是錯誤? – 2010-12-21 13:04:45

+0

究竟是什麼問題? – 2010-12-21 13:05:07

回答

4

這似乎是一個相當複雜的方式來增加一個數字。只是這樣做,而不是:

UPDATE ywsite SET num = num + 1 WHERE item = 'sitehits' 

如果它不能使用mysql_error看到錯誤。最可能的錯誤原因是表名或列名不正確。

+0

我不敢相信這是多麼簡單。絕對會更頻繁地使用它。謝謝 :) – yanike 2010-12-21 13:08:29

4

「停止工作」不是問題描述。沒有什麼只是改變你。如果您編寫的代碼停止工作,這意味着您所依賴的外部事物已經發生了變化,例如您正在運行它的PHP解釋器的版本,或者您正在連接的MySQL服務器。

  1. 檢查MySQL是否正在運行,您可以連接到它。

  2. 確保您在連接到它在你的代碼。你說「這是腳本的其餘部分」,但你的腳本在發送查詢之前不包括任何連接到數據庫的代碼。如果這就是所有的代碼,那麼以前的代碼越多,你就可以刪除它。

  3. 檢查你的SELECT查詢返回的結果

    if (!$res) die("Error in SELECT query: " . mysql_error()); 
    
  4. 檢查您的更新查詢運行同樣的方式,通過檢查的mysql_query

  5. 最後的返回值,你不需要選擇要添加到該值的當前值。您只能發出一個UPDATE查詢。

    mysql_query("UPDATE ywsite SET num = num + 1 WHERE item = 'sitehits'") or die("Error updating: " . mysql_error());