0

MySqlに2つの列を持つデータベースがあります。1つはユーザーの名前が格納され、2番目の列にはユーザーの対応する値があります。2番目の列の値を新しい値に置き換えるにはどうすればよいですか?私はPHPにあまり詳しくないため、Googleで答えを見つけるのに苦労しています。REPLACE関数とUPDATE関数の両方が存在することは知っていますが、列のすべての値ではなく、その特定のユーザーに対してのみそれらを機能させるのに問題があります。私が使用に失敗したコードは次のとおりです。

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

(私は問題なくデータベースにログインできるので、そのコードを提供していません)

4

2 に答える 2

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

それらがあなたのフィールド名であると仮定します。

于 2012-04-12T03:44:18.407 に答える
0

1)特定の行を更新するには、「where」句を使用する必要があります。ここにいくつかのサンプルコードがあります:http ://www.w3schools.com/php/php_mysql_update.asp

あなたがそれをしている方法は、テーブルのすべてのレコードを更新します。

2)置換関数は、列の値の置換では機能しません。これは、最初の引数として渡された文字列の一部を置換するための純粋な文字列操作です。

置換関数(http://dev.mysql.com/doc/refman/)ではなく、repalceコマンド(http://dev.mysql.com/doc/refman/5.0/en/replace.html)を考えています。 5.1 / en / string-functions.html#function_replace)

質問のサンプルコードでは、次のようになります。

$ query1 = "Update TextMeBabe Set credits = $ newCredits where username ='$ username'"; 列名がテーブル内のユーザー名とクレジットであると想定します。

于 2012-04-12T03:53:14.060 に答える