我想用php更新產品數量。 有一個按鈕來更新數量。 但問題是,當我第一次點擊按鈕更新數量(jumlah)數據庫獲取更新,但是當我一次又一次地點擊...數量仍然相同時,根本沒有任何變化。應該是當我點擊那個按鈕時,數量會增加到一個。的如何在php中更新記錄?
update.php
$id_penjualan=$row['id_penjualan'];
$query="select * from tb_detail_penjualan,tb_buku where tb_buku.id_buku=tb_detail_penjualan.id_buku and tb_detail_penjualan.id_buku='$_GET[id_buku]'";
$stmt=$con->prepare($query);
$stmt->execute(array(":id_penjualan"=>$id_penjualan));
$stmt->execute();
$row=$stmt->fetch(PDO::FETCH_ASSOC);
if($row>0){
$id_buku=$row['id_buku'];
$harga=$row['harga'];
$jumlah=$row['jumlah'];
$jmltambah=$jumlah+1; //problem
$subtotaltambah = $jmltambah * $harga;
$penjualan->update_detail_penjualan($jmltambah,$subtotaltambah,$id_penjualan,$id_buku,$id_pelanggan);
class_penjualan.php
public function update_detail_penjualan($jmltambah,$subtotaltambah,$id_penjualan,$id_buku,$id_pelanggan)
{
try
{
$stmt=$this->db->prepare("UPDATE tb_detail_penjualan SET jumlah=:jmltambah, subtotal=:subtotaltambah WHERE id_penjualan=:id_penjualan
AND id_buku=:id_buku AND id_pelanggan=:id_pelanggan");
$stmt->bindparam(":jmltambah", $jmltambah);
$stmt->bindparam(":subtotaltambah", $subtotaltambah);
$stmt->bindparam(":id_penjualan",$id_penjualan);
$stmt->bindparam(":id_buku",$id_buku);
$stmt->bindparam(":id_pelanggan",$id_pelanggan);
$stmt->execute();
return true;
}
catch (PDOException $e)
{
echo $e->getMessage();
return false;
}
}
'bindparam'應該讀作'bindParam'。 99%的時間,它需要一個大寫的「P」。 –
是@ Fred-ii-是對的。 –
在連接打開後立即添加'setAttribute(PDO :: ATTR_ERRMODE,PDO :: ERRMODE_EXCEPTION)'。你很可能會看到類似「不匹配綁定數量等等等等......」 - catch(PDOException $ e)'並不總是足夠的。 –