0
$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");
}

?>
4

4 に答える 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 に答える