$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
第二个查询中有一个 ` 字符,你不能输入。
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 回答