Apabila cuba mengemas kini jadual menggunakan fungsi mysqli_update , ralat berikut ditemui: "Panggil ke fungsi ahli bind_param() pada a bukan objek."
Ralat menunjukkan bahawa objek $stmt, yang digunakan untuk melaksanakan pernyataan yang disediakan, tidak dicipta dengan betul. Ini boleh disebabkan oleh isu dengan pertanyaan itu sendiri.
Untuk menyelesaikan isu ini:
Pastikan sintaks pertanyaan adalah betul. Pertanyaan harus termasuk nama jadual, klausa SET, parameter yang akan dikemas kini dan klausa WHERE. Semak jika ada kesilapan silap atau unsur yang hilang.
Selepas menyediakan pernyataan, gunakan sifat errno dan ralat objek mysqli untuk menyemak sama ada terdapat sebarang ralat semasa penyediaan pernyataan. Jika errno bukan 0, tukar mesej ralat menggunakan mysqli_error() dan naikkan ralat PHP menggunakan trigger_error() atau buang Exception.
Pastikan pernyataan yang disediakan dilaksanakan dengan betul menggunakan mysqli_execute(). Semak ralat semasa pelaksanaan menggunakan mysqli_errno() dan mysqli_error() selepas melaksanakan pernyataan.
Berikut ialah contoh cara menyemak ralat semasa penyediaan dan pelaksanaan pernyataan:
if (!($stmt = $mysqli->prepare($query))) { trigger_error($mysqli->error . "[$query]"); } if (!$stmt->execute()) { trigger_error($stmt->error . "[BIND PARAMS: $stmt->errno, EXECUTE: $mysqli->errno]"); }
Oleh mengikut langkah ini, anda boleh memastikan bahawa pertanyaan adalah betul dari segi sintaksis, mengenal pasti sebarang ralat semasa penyediaan pernyataan dan mengesahkan pelaksanaan kenyataan tersebut. Ini akan membantu menghalang ralat "Panggil ke fungsi ahli bind_param()" semasa mengemas kini data menggunakan mysqli.
Atas ialah kandungan terperinci Mengapa Fungsi Kemas Kini MySQLi Saya Melemparkan Ralat 'Panggil ke Fungsi Ahli bind_param()'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!