+----------------+-----------+
|name(varchar)PK |money(int) |
+----------------+-----------+
は、どのように私は、クエリを策定することができ、それができるように:クエリは、挿入するか、必要に応じて更新レコード場合
言っ名2.Ifは名前とお金の価値を挿入することができ
1.Beすでに存在しているのは、その値をフォームから取得して追加するだけで、money列を更新する必要があります。 は、使用してみました:
REPLACE INTO practable SET name = '$name', money = 'money' + $amount
それは最初の要件を満たしますが、お金の列を更新しながら、それは単に新しいものと古い値を置き換え、それらを追加しません。ここで
は、完全なコード(ドラフト版)です:
<?php
//This script by another form which takes the amount and name paramters from user
if(!empty($_GET['nameg']) && !empty($_GET['amountg'])){
$user="root";
$pass="password";
$db="practice";
$name=$_GET['nameg'];
$amount=$_GET['amountg'];
mysql_connect('localhost',$user,$pass) or die("Connection Failed!, " . mysql_error());
$query="REPLACE INTO practable SET name = '$name', given = 'given' + $amount";
mysql_select_db($db) or die("Couldn't connect to Database, " . mysql_error());
mysql_query($query) or die("Couldn't execute query! ". mysql_error());
mysql_close() or die("Couldn't disconnect!");
}
?>
試しましたか? 実際のSET name = '$ name'に置き換えて、money = SUM(money、$ amount) ところで。あなたのコードは非常に危険です! SQLインジェクション攻撃が可能です。 –
SQLインジェクションを読んでください...参照してください:http://stackoverflow.com/questions/332365/xkcd-sql-injection-please-explain – Johan
私は知っている、それはドラフトバージョンです:)ありがとうございました! – tutak