2013-11-15 57 views
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"); 
} 

?> 
+0

存在編碼錯誤,我想不通 – user2966446

+0

[這是什麼錯誤消息?(http://blog.flowl.info/2013/enable-display-php-errors/) – DanFromGermany

+0

全應用程序是當我在我的手機上使用Android應用程序訂購物品時 數據庫中該物品的數量應該減少1 – user2966446

回答

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"]); 

並請檢查拼寫..

+0

thanx很多它興奮地炒鍋 – user2966446

0

有第二個查詢一個'字符,你必須不放在

yy = Quantityy - 1` where 
       ^
0

您的SQL似乎遍佈全球,並且存在由隨機反向引起的語法錯誤。而不是運行一個循環的,請嘗試使用一個單一的SQL語句:

UPDATE `corro`.`food` 
SET `food`.`Quantityy` = (`food`.`Quantityy`- 1) 
WHERE `food`.`id` = $id AND `food`.`Quantityy` >= 0 

而且,你爲什麼要使用LIKE時,你可以使用=

在循環內部,您也正在引用foodid按數量列?

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"); 
} 
相關問題