2012-04-12 12 views
0

MySqlのデータベースには2つのカラムがあります.1つはユーザの名前が格納され、もう1つはユーザの対応する値です。 2番目の列の値を新しい値に置き換えるにはどうすればよいですか?私はPHPに精通していないので、私はGoogleで答えを見つけるのが難しいです。私は、REPLACEとUPDATEの両方の機能があることを知っていますが、その列のすべての値ではなく、特定のユーザーだけに働かせるのに問題があります。私は失敗し使用していたコードはこれです:PHPのSQLの値を更新する

$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関数は列の値を置き換えることはできません。これは、最初の引数として渡された文字列の部分を置換するための純粋な文字列演算です。

リプレース機能(http://dev.mysql.com/)ではなく、repalceコマンド(http://dev.mysql.com/doc/refman/5.0/en/replace.html)を検討しています。質問からサンプルコードでのdoc/refman/5.1/EN /文字列functions.html#のfunction_replace)

、それは次のようになります。

$ Query1を=「更新TextMeBabeセット= = $ newCreditsどこのユーザー名をクレジット'$ username' "; 列名がテーブルのユーザー名とクレジットであると仮定します。

関連する問題