我是非常新的php和mysql,我试图添加一个产品到购物车。我认为我的代码工作正常,除了“quantitat + 1”部分。 (如果我只是用一个数字代替它)我不知道我应该怎么说我想更新并添加1现有数量无论它是什么。加入购物车
我得到没有错误,所以我不知道是什么问题。 我试过($ row ['quantitat'];)+ 1,它不起作用
我是一个绝对的初学者,所以我想我犯了一个非常明显的错误,或者我有一些东西不明白。
if(isset($_GET["id"])) {
$result = mysql_query("SELECT * FROM carret
WHERE producte='".$_GET["id"]."'");
}
if (mysql_num_rows($result)>0) { // if already there is one or more
mysql_query("UPDATE carret SET quantitat = quantitat + 1
WHERE producte='".$_GET["id"]."'");
echo "UPDATE. I have added 1";
}else{
mysql_query("INSERT INTO carret (producte, quantitat)
VALUES (".$_GET["id"].",1)");
echo "INSERT. I have inserted one new product";
}
你的脚本是容易受到SQL注入 – Baba
@Baba:这是人谁说,他们是一个令人难以置信的帮助的注释“*非常新的PHP和MySQL *” ! Narcis,巴巴的意思是说,你应该阅读[Bobby Tables](http://stackoverflow.com/questions/332365/xkcd-sql-injection-please-explain)的故事,以了解你写过你的代码的方式。您应该使用[准备语句](http://stackoverflow.com/a/60496/623041),将您的变量作为参数传递给其中,而这些参数不针对SQL进行评估。 – eggyal