[英]Update Query issue in php
這是我的表'tbl_size'
**Col Name** **Data Type**
size_id int(11)
pd_id int(11)
size_name varchar(20)
size_chart int(6)
qty text
現在我正在嘗試使用以下查詢更新此表
$query="update tbl_size set `qty`='10' where `size_id`=335";
當我在mysql中運行此查詢時,它工作正常,但是當我嘗試從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
檢查表的結構,你有qty的文本類型。 它可能不是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']."'";
Your Code ==> `qty`= $pqty
Changes to this ==> `qty`='$pqty'
嘗試這個:
$query="update tbl_size set qty=10 where size_id=335";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.