Postingan lainnya
UPDATE angka 1 untuk menjadi 2 hasilnya kok 3
Salam untuk para pakar PHP , mau tanya nih prihal update data , apa sebabnya update data angka 1 menjadi 2 hasilnya kok 3, codenya begini :
$sql=$dbh->prepare("SELECT * FROM barang WHERE kitab='$nk' AND terbitan='$nc'");
$sql->execute();
$ht=$sql->fetch();
$tl=$ht['jumlah'] + 1;
$h="UPDATE barang SET jumlah=? WHERE kitab=? AND terbitan=?";
$dbh->prepare($h)->execute([$tl,$nk,$nc]);
sedang hasil dari
echo"$tl";
benar , jumlah asal ditambah satu , akan tetapi ketika masuk database dengan update kok menjadi tambah 2 , umpama jumlah nya 5 + 1 = 6 , tapi masuk table menjadi 7, tambahan 1 darimana yaa?
4 Jawaban:
coba di die() mas variable $h nya, liat dulu hasilnya masih sama atau mulai ubah
cek error sudah dengan penambahan
<pre> $stmt = $dbh->prepare('$h'); if (!$stmt) { echo "\nPDO::errorInfo():\n"; print_r($dbh->errorInfo()); } </pre> sehingga komplitnya menjadi <pre> $sql=$dbh->prepare("SELECT * FROM barang WHERE kitab='$nk' AND terbitan='$nc'"); $sql->execute(); $ht=$sql->fetch();
$tl=$ht['jumlah'] + 1;
$h="UPDATE barang SET jumlah=? WHERE kitab=? AND terbitan=?";
$dbh->prepare($h)->execute([$tl,$nk,$nc]);
$stmt = $dbh->prepare('$h'); if (!$stmt) { echo "\nPDO::errorInfo():\n"; print_r($dbh->errorInfo()); } </pre>
dengan or die ya sudah
<pre> $h="UPDATE barang SET jumlah=? WHERE kitab=? AND terbitan=?"; $dbh->prepare($h)->execute([$tl,$nk,$nc])or die(print_r($dbh->errorInfo())); </pre>
tidak menampilkan error sama sekali.dan hasil masih sama saja tidak ada perubahan, dari mana yaa tambahan satu angka itu?
Tanggapan
Coba di die vardump querynya, langsung masukin datany jgn diprepare dulu, hasilnya sesuai gak sm yg dimau
Coba di die vardump querynya, langsung masukin datany jgn diprepare dulu, hasilnya sesuai gak sm yg dimau
kalo or die di bagian situ hanya ngevek jika ada error, yg saya maksud adalah ngecek jumlahnya apakah sudah bertambah satu. bukan ngcek error mas
nah itu jumlah bertambah , yg diharap tambahnya 1 , tapi yg terjadi tambahnya 2. umpama asalnya 4 harusnya tambah 1 menjadi 5 , tapi yg terjadi menjadi 6
coba cek field di tabel, apa field nya auto increment ?
field auto increment pada id, AI nya di centang