到了这一点。
mysqli prepared语句没有将数据提交到数据库中,mysqli_error
没有返回任何错误
可能是因为我在编写错误处理程序时犯了一个错误,因为它在mysqli_stmt_execute
未返回TRUE时显示消息
修改
看起来mysqli_stmt_execute()
不执行查询。那是为什么?
PHP-mysqli脚本:
// 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"<h1>Query gagal</h1>";
mysqli_error($con);
mysqli_errno($con);
mysqli_stmt_error($stmt);
}
通常会有一条消息说某些东西的数量与某些内容相匹配,但没有一个,只有一个大的查询gagal&#39;
答案 0 :(得分:2)
试试这个:
// 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();