2013-10-08 57 views
1

這是我的表「tbl_size」在PHP更新查詢問題

**Col Name**  **Data Type** 
size_id   int(11) 
pd_id    int(11) 
size_name   varchar(20) 
size_chart   int(6) 
qty    text 

現在我想要當我運行mysql中此查詢與下面的查詢

$query="update tbl_size set `qty`='10' where `size_id`=335"; 

更新此表中,工作正常,但當我嘗試從PHP做的同樣的事情,那麼它正在更新qty'0',而不是'10'。 我不明白爲什麼會發生這種情況。請幫我解決這個問題。

新的更新代碼:

// $rowvo['od_qty']=10; 

// $row_1['qty']=20; 

$sql = "SELECT qty FROM tbl_size WHERE size_id =".$rowvo['size_id']; 

$result = dbQuery($sql); 

$row_1 = dbFetchAssoc($result); 

$pqty=$row_1['qty']-$rowvo['od_qty']; 

echo "Total Quantity Available Before Diduction : ".$row_1['qty']; 

echo "Sold Quantity : ".$rowvo['od_qty']; 

echo "Remaining Quantity : $pqty"; 

$sql_qty="update tbl_size set `qty`=$pqty where `size_id`=".$rowvo['size_id']; 

echo "$sql_qty<br>"; 

$result_qty=mysql_query($sql_qty) or die('Error : '.mysql_error()); 

echo "No of Rows Affected : ".mysql_affected_rows()."<br>".mysql_error(); // 1 

新與PDO代碼:

try { 
$b=$a->prepare("update tbl_size set `qty`=:qty where `size_id`=:size"); 
$b->bindValue(":size",$size_id); 
$b->bindValue(":qty",$pqty); 
$b->execute(); 

} catch(PDOException $ex) { 
echo "An Error occured!"; //user friendly message 

} 

和後續代碼var_dump($ EX)= NULL

+2

東西在你的PHP代碼是怎麼了。最有可能是由於代碼注入(我猜)。我們可以在您撥打數據庫的位置看到您的**實際** PHP代碼嗎? – h2ooooooo

+6

如果數量是數量,那麼爲什麼你不使用int ...? –

+1

如果您的PHP發生問題,那麼您爲什麼不向我們展示您的PHP? –

回答

2

檢查表的結構,你有文本類型數量。它可能不是char或varchar類型(或者它的默認值爲'0')。要解決此問題,您可以使用phpmyadmin,SQLyog或其他MySql管理程序。

查詢

$sql_qty="update tbl_size set `qty`=$pqty where `size_id`=".$rowvo['size_id']; 

改變

$sql_qty="update tbl_size set `qty`='$pqty' where `size_id`='".$rowvo['size_id']."'"; 
+0

我已經更新了我的代碼現在我已將'qty'col的數據類型從'text'更改爲'int',但我仍然遇到同樣的問題。 – Pankaj

0

試試這個:

$query="update tbl_size set qty=10 where size_id=335"; 
+0

qty is文字值字段類型,所以像這樣輸入'10' –

1
Your Code  ==> `qty`= $pqty 

Changes to this ==> `qty`='$pqty' 
+0

現在我已經改變'qty'的數據類型爲int這就是爲什麼'qty' = $ pqty – Pankaj

+0

sitll它不工作?用下面的查詢$ sql_qty =「update tbl_size set' qty' ='$ pqty'其中'size_id' =「。$ rowvo ['size_id']; –