こんにちは、私はこのクエリに問題があります:
$size = isset($_POST['size'])
? "'".mysql_real_escape_string($_POST['size'])."'"
: "NULL";
$color = isset($_POST['color'])
? "'".mysql_real_escape_string($_POST['color'])."'"
: "NULL";
if (is_numeric($_POST['productID']) && is_numeric($_POST['amount']))
{
mysql_query("INSERT INTO usercart VALUES ('', '"
.mysql_real_escape_string($_SESSION['user_ID'])."', '"
.mysql_real_escape_string($_POST['productID'])."', "
.$size." , ".$color." , '".mysql_real_escape_string($_POST['amount'])."')"
." ON DUPLICATE KEY UPDATE amount = amount + '"
.mysql_real_escape_string($_POST['amount'])."'") or die(mysql_error());
}
私の MySQL テーブルには、、、およびという名前"product"
の一意のインデックスがあります。しかし、このクエリを実行すると、金額を更新する代わりに挿入するだけです。MySQL のドキュメントを読むと、インデックス名を指定する必要はありません。productID
userID
size
color
これを何時間もいじっています。それで、誰かがどうしたか知っていますか?