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 = '$用户名'“; 假设列名是用户名和表中的信用。