mysqli_stmt_execute() does not execute the prepared query
要点。
mysqli准备好的语句不会将数据提交到数据库中,并且
可能是因为我写错误处理程序时出错,因为它显示了
EDIT
,它看起来像
PHP-mysqli脚本:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | // Simpan data ke dalam variable $nama_produk=$_POST['nama_produk']; $id_kategori=$_POST['kategori']; $id_kategori2=$_POST['kategori2']; $label=$_POST['label']; $harga=$_POST['harga']; $harga2=$_POST['harga2']; $stok=$_POST['stok']; $deskripsi=$_POST['deskripsi']; $spesifikasi=$_POST['spesifikasi']; $potongan=$_POST['potongan']; $produk_seo = seo_title($_POST['nama_produk']); $tanggal=$tgl_sekarang; $gambar=$nama_file_unik; $stmt=mysqli_prepare($con,"INSERT INTO produk(nama_produk,produk_seo,id_kategori,id_kategori2,label,harga,harga2,stok,spesifikasi,deskripsi,tgl_masuk,potongan,gambar) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?)"); mysqli_stmt_bind_param($stmt,"sssssssssssss",$nama_produk,$produk_seo,$id_kategori,$id_kategori2,$label,$harga,$harga2,$stok,$spesifikasi,$deskripsi,$tanggal,$potongan,$gambar); if(mysqli_stmt_execute($stmt)){ mysqli_stmt_error($stmt); } else { echo"Query gagal"; mysqli_error($con); mysqli_errno($con); mysqli_stmt_error($stmt); } |
通常会显示一条消息,指出某物的数量与某物匹配,等等,但没有,只是一个很大的"查询gagal'
尝试一下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | // Simpan data ke dalam variable $nama_produk=$_POST['nama_produk']; $id_kategori=$_POST['kategori']; $id_kategori2=$_POST['kategori2']; $label=$_POST['label']; $harga=$_POST['harga']; $harga2=$_POST['harga2']; $stok=$_POST['stok']; $deskripsi=$_POST['deskripsi']; $spesifikasi=$_POST['spesifikasi']; $potongan=$_POST['potongan']; $produk_seo = seo_title($_POST['nama_produk']); $tanggal=$tgl_sekarang; $gambar=$nama_file_unik; $stmt=mysqli_prepare($con,"INSERT INTO produk(nama_produk,produk_seo,id_kategori,id_kategori2,label,harga,harga2,stok,spesifikasi,deskripsi,tgl_masuk,potongan,gambar) VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?)"); if(false===$stmt){ die('Error with prepare: ') . htmlspecialchars($mysqli->error)); } $bp = mysqli_stmt_bind_param($stmt,"sssssssssssss",$nama_produk,$produk_seo,$id_kategori,$id_kategori2,$label,$harga,$harga2,$stok,$spesifikasi,$deskripsi,$tanggal,$potongan,$gambar); if(false===$bp){ die('Error with bind_param: ') . htmlspecialchars($stmt->error)); } $bp = $stmt->execute(); if ( false===$bp ) { die('Error with execute: ' . htmlspecialchars($stmt->error)); } $stmt->close(); |