2016-07-06 6 views
1

私は現在の人に新しい値を追加するために投稿した方法を試しましたが、すべて失敗しました。PHP/mysql現在の値に値を加算する - 他の人よりも差がある質問

例:DBにUPDATE `some_table` SET `value` = `value` + 1000 WHERE `id` = 1 戻り値:23+1000 ...または0 ...私がない場合:他のいくつかによって示唆されるようにUPDATE some_table SET value = value (+ 1000) WHERE ID = 1 ..ここで

は、比較のために、私の実際のコードです:

$name = $_REQUEST['name']; 
$cash = $_REQUEST['cash']; 
$score = $_REQUEST['score']; 

$sql="UPDATE $tbl_name SET name='$name', cash='$cash',  score='$score'   
WHERE name='$name'"; 
$result=mysql_query($sql); 

if(mysql_affected_rows() == 0) { 

$sql="INSERT INTO $tbl_name (name, cash, score) VALUES  ('$name','$cash','$score')"; 
$result=mysql_query($sql); 

} 

....

今の質問は:どのように私は& $は、既存のものに得点新しい着信$の現金を追加します。.. DB内のEx:現金| 23点| 91新しい入金は現金| 22点| 18で現金として更新| 45点| 109 ..新しい入金はそれぞれ異なることを覚えておいてください...

Any助けていただければ幸いです。

+1

mysqlは連結のために '+'を使用しません。あなたのフィールドに '23 + 1000'を得ることは不可能です。特にそのフィールドが数値型の場合はそうです。そして、[SQLインジェクション攻撃](http://bobby-tables.com)に脆弱であることに注意してください。 –

答えて

0

現在の値を変数に格納します。 $ old; then $ oldに希望の値を追加します。 $ new = $ old + 10; 次にSQLの更新を行います

+0

誰もが完全にもう一度読んでいるわけではありません。私はこのサイトでこのように多くを見ています... –

+0

Mark B. it私はそのフォーマットを使用すると起こっているので、どのように私はどのように脆弱であることが分かっている可能性があります、あなたが見ているすべては、コードのごく一部です。 –

+0

現在の値を$ old変数に格納します。 $ old $ new = $ old + 10に必要な値を追加します。その後、SQLの更新 –

関連する問題