Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

PHP - Kesalahan fatal:Panggilan ke fungsi anggota bind_param()

TL\DR

Kueri Anda gagal prepare() . Anda perlu mencari tahu di mana, bagaimana, dan mengapa. Lihat blok kode terakhir dari jawaban ini dan beri tahu kami apa kesalahannya.

Saya akan mulai dengan kueri. Anda mencoba mengakses kata cadangan MySQL. Anda perlu membungkusnya dengan backtick seperti ini:

$add = "INSERT INTO books (title, edited, created, ip,".
    " email_to, twitter, last_taken, questions_total, responses, ".
    "show_progress, need_correct, go_back, state, send_stats, ".
    "show_number, imported) VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ".
    "?, ?, ?, ?, ?, ?, ?)";

Sekarang, Anda membuat instance variabel $stmt dalam if blok tetapi kemudian mencoba mengikatnya di luar blok itu. Anda harus mengubah ini:

if ($stmt = $mysqli->prepare($add)) {
....
}
$stmt->bind_param(....);

Untuk ini:

if ($stmt = $mysqli->prepare($add)) {
....
$stmt->bind_param(....);
}

Selain itu, pastikan kueri Anda benar-benar disiapkan dengan benar:

if ($stmt = $mysqli->prepare($add)) {

    $stmt->bind_param("siisssiiiiiiiiii", $title, $edited, $created, $ip, $email_to, $twitter, $last_taken, $questions_total, $responses, $show_progress, $need_correct, $go_back, $state, $send_stats, $show_number, $importedVal);

    // execute it and all...
} else {
    die("Errormessage: ". $mysqli->error);
}

Lalu beri tahu kami apa yang muncul.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara menampilkan nilai Min dan Max pada tabel pivot dinamis

  2. Hubungkan Parse dengan database eksternal?

  3. Mencegah penggabungan melingkar, pencarian rekursif

  4. Koneksi Mysql Tomcat 7 di Openshift

  5. Adakah yang mirip dengan Hibernate di PHP?