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?

avatar mboh
@mboh

42 Kontribusi 6 Poin

Diperbarui 5 tahun yang lalu

4 Jawaban:

coba di die() mas variable $h nya, liat dulu hasilnya masih sama atau mulai ubah

avatar fikriwado
@fikriwado

131 Kontribusi 41 Poin

Dipost 5 tahun yang lalu

cek error sudah dengan penambahan

<pre> $stmt = $dbh-&gt;prepare('$h'); if (!$stmt) { echo "\nPDO::errorInfo():\n"; print_r($dbh-&gt;errorInfo()); } </pre> sehingga komplitnya menjadi <pre> $sql=$dbh-&gt;prepare("SELECT * FROM barang WHERE kitab='$nk' AND terbitan='$nc'"); $sql-&gt;execute(); $ht=$sql-&gt;fetch();

$tl=$ht[&#039;jumlah&#039;] + 1;

$h=&quot;UPDATE barang SET jumlah=? WHERE kitab=? AND terbitan=?&quot;;

$dbh-&gt;prepare($h)-&gt;execute([$tl,$nk,$nc]);

$stmt = $dbh-&gt;prepare('$h'); if (!$stmt) { echo "\nPDO::errorInfo():\n"; print_r($dbh-&gt;errorInfo()); } </pre>

dengan or die ya sudah

<pre> $h="UPDATE barang SET jumlah=? WHERE kitab=? AND terbitan=?"; $dbh-&gt;prepare($h)-&gt;execute([$tl,$nk,$nc])or die(print_r($dbh-&gt;errorInfo())); </pre>

tidak menampilkan error sama sekali.dan hasil masih sama saja tidak ada perubahan, dari mana yaa tambahan satu angka itu?

avatar mboh
@mboh

42 Kontribusi 6 Poin

Dipost 5 tahun yang lalu

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 ?

avatar notee
@notee

14 Kontribusi 2 Poin

Dipost 5 tahun yang lalu

field auto increment pada id, AI nya di centang

avatar mboh
@mboh

42 Kontribusi 6 Poin

Dipost 5 tahun yang lalu

Login untuk ikut Jawaban