2012-04-12 79 views
0

我在MySql中有一個數據庫,它有兩列,一列存儲用戶名和第二列用戶對應的值。如何用新值替換第二列中的值?我無法在Google中找到答案,因爲我對PHP不太熟悉。我知道REPLACE和UPDATE函數都存在,但我無法讓它們只爲特定用戶工作,而不是在列中的所有值。我不成功使用的代碼是這樣的:更新SQL中的值來自PHP

$query1 = "UPDATE TextMeBabe SET '$username' = replace('$username', '$existingcredits', '$newcredits')"; 
    echo "Values added"; 
    mysql_query($query1); 
    mysql_close(); 

(我能登錄到沒有問題的數據庫,所以我還沒有提供的代碼)

回答

4
$query1 = "UPDATE TextMeBabe SET `credits`='$newcredits' WHERE (`username` ='$username')"; 

假設這些都是你的字段名。

0

1)您需要使用'where'子句來更新特定的行。 你可以在這裏找到一些示例代碼:http://www.w3schools.com/php/php_mysql_update.asp

你這樣做的方式將更新表中的所有記錄。

2)replace函數不能替換列中的值,它純粹是一個字符串操作,用於替換作爲第一個參數傳遞的字符串部分。

您正在考慮repalce命令(http://dev.mysql.com/doc/refman/5.0/en/replace.html)而不是替換函數(http://dev.mysql.com/ DOC/refman/5.1/EN /串functions.html#function_replace)

在從問題的示例代碼,它應該是:

$ QUERY1 =「更新TextMeBabe一組信用= $ newCredits其中username = '$用戶名'「; 假設列名是用戶名和表中的信用。