$query1=mysql_query("SELECT Quantityy FROM `corro`.`food` where `food`.`id` LIKE $id");
$rows = array();
while($r = mysql_fetch_assoc($query1)) {
$output = $r['Quantityy'];
//encode the returned data in JSON format
echo $output;
$query2=mysql_query("UPDATE food SET Quantityy = Quantityy - 1` where `food`.`id` LIKE $output");
}
?>
質問する
388 次
4 に答える
0
2 番目のクエリには、入れてはならない ` char があります。
yy = Quantityy - 1` where
^
于 2013-11-15T10:00:47.643 に答える
0
$query1=mysql_query("SELECT Quantityy,id FROM `corro`.`food` where `food`.`id` LIKE $id");
そしてループで:
$query2=mysql_query("UPDATE food SET Quantityy = Quantityy - 1 where `food`.`id` LIKE ".$r["id"]);
そして、スペルをチェックしてください...
于 2013-11-15T10:01:23.333 に答える
0
SQL がいたるところにあるようで、ランダムなバッククォートが原因で構文エラーが発生しています。ループを実行する代わりに、単一の SQL ステートメントを使用してみてください。
UPDATE `corro`.`food`
SET `food`.`Quantityy` = (`food`.`Quantityy`- 1)
WHERE `food`.`id` = $id AND `food`.`Quantityy` >= 0
また、なぜLIKE
使用できるのに使用しているの=
ですか?
ループ内では、food
. id
数量による列?
于 2013-11-15T10:01:29.550 に答える
0
$q=FALSE;
while($r = mysql_fetch_assoc($query1)) {
$output = $r['Quantityy'];
if($q===FALSE){
$q = $output-1;
}else{
$q--;
}
//encode the returned data in JSON format
echo $output;
$query2=mysql_query("UPDATE food SET Quantityy ={$q}` where `food`.`id` LIKE $output");
}
于 2013-11-15T10:04:03.393 に答える