2016-12-31 23 views
0

をその時点まで実行しません。mysqli_stmt_execute()は、準備されたクエリ

mysqli_stmt_executeがTRUE

を返していないとき、それはメッセージを示しているので、私はエラーハンドラを書いてミスを犯したので

mysqliのプリペアドステートメントは、データベースにデータを提出していない、とmysqli_errorがエラーに

を返さないことかもしれません編集

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」

+0

'seo_title()'この機能は何ですか?これのための形式はどこですか?今この 'if(mysqli_stmt_execute($ stmt)){ mysqli_error($ con); } '意味がありません。実行しているかどうかをチェックしていますが、エラーがないかどうかを確認する必要があります。 –

+0

これらの定義済みの '$ tgl_sekarang' - ' $ nama_file_unik'はどこにありますか?エラー報告を使用する。 htmlフォームとdbスキーマを投稿してください。 –

+0

'seo_title()' stringのスペースを ' - 'に置き換えるだけの場合 'trigit or back 'は' if(mysqli_stmt_execute) 'のように' trigit-or-back 'になります。エラーを処理する適切な方法 – Citra45Abadi

答えて

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(); 
+0

こんにちは、ありがとう、これは本当に助けて、エラーが最終的に自分自身を示している – Citra45Abadi

関連する問題