2013-07-11 137 views
0

我想更新我的MySQL數據庫,使用PHP使用變量方法,但它不更新。我不知道問題是什麼。這是我的代碼:更新MySQL數據庫與PHP變量

$result = mysql_query("SELECT * FROM total") or die(mysql_error()); 
$i=$row['number']; 
$n=$i+1; 
$result = mysql_query("UPDATE total SET number = " . $n . " WHERE number = " . $i . "") or die(mysql_error()); 

如何更新我的MySQL數據庫使用PHP?

+0

你得到一個'mysql_error'? –

+1

請勿使用mysql_ *庫,它們已過時並已棄用。改用PDO。 –

+0

其中是'$ row = mysql_fetch_assoc($ result)'。其次,你的邏輯是什麼。 'select * from total'可能會返回數百萬行,那麼您將獲得什麼好處。 –

回答

3

您可以在不使用SELECT的情況下遞增像這樣的column_name = column_name + 1的column_value。

UPDATE total SET number = number + 1 
2

您的查詢語法是錯誤的,試試這個,

$result = mysql_query("UPDATE total SET number = '" . $n . "' WHERE number = '" . $i . "'"); 
+0

你添加的引號是完全沒有意義的。 – tadman

3

它可以只是不需要的選擇SQL。當它不是必需的時候不要使用php。在mysql中可以做什麼應該在mysql中完成。速度更快。

UPDATE `total` SET number = number + 1; 

此外,您應該閱讀mysql_ *文檔上的紅框。這些功能已被解釋並將在未來被刪除。考慮使用的mysqliPDO

2

FO您的查詢語法錯了,它應該是

UPDATE `total` SET number = number + 1; 

你做

UPDATE `total` S number = number + 1; 

請參閱本mysql doc