Rumah >pembangunan bahagian belakang >tutorial php >Mengapa My MySQLi `bind_param()` Fungsi Melemparkan Ralat 'Panggilan kepada Fungsi Ahli pada Bukan Objek'?
Masalah:
MySQLi sedang melontarkan "Panggilan kepada fungsi ahli bind_param() pada ralat bukan objek" semasa cuba mengemas kini lajur dalam jadual menggunakan kaedah bind_param().
Punca:
Kaedah bind_param() hanya boleh dipanggil pada objek mysqli_stmt yang sah. Ralat berlaku kerana objek mysqli_stmt tidak dibuat dengan betul.
Penyelesaian:
Untuk menyelesaikan ralat ini:
Contoh dengan PDO:
<?php try { // Create PDO connection $pdo = new PDO('mysql:host=localhost;dbname=database', 'username', 'password'); // Prepare update statement $stmt = $pdo->prepare("UPDATE questionnaire SET $key = ? WHERE id = ?"); // Bind parameters $stmt->bindParam(1, $value, PDO::PARAM_STR); // Set the value parameter $stmt->bindParam(2, $rowid, PDO::PARAM_INT); // Set the rowID parameter // Execute update $stmt->execute(); } catch (PDOException $e) { trigger_error($e->getMessage(), E_USER_ERROR); }
Atas ialah kandungan terperinci Mengapa My MySQLi `bind_param()` Fungsi Melemparkan Ralat 'Panggilan kepada Fungsi Ahli pada Bukan Objek'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!