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

Kesalahan muncul dalam kode mysqli dan call_user_func_array()

Ini adalah situasi sulit yang disebabkan oleh perubahan call_user_func_array perilaku di PHP 5.4 (Saya harus berasumsi): Dokumentasi

Sejelek ini, ini akan berfungsi untuk memanggil bind_param begini:

$selectedstudentanswerqry .= ' WHERE ' . implode(' AND ', $where);
global $mysqli;
$stmt =$mysqli->prepare($selectedstudentanswerqry);

if (count($where) === 1) {
    $stmt->bind_param($parameterTypes, $parameters[0]);
}
else if (count($where) === 2) {
    $stmt->bind_param($parameterTypes, $parameters[0], $parameters[1]);
}
else if (count($where) === 3) {
    $stmt->bind_param($parameterTypes, $parameters[0], $parameters[1],
       $parameters[2]);
}

Aku benci ini sebanyak yang mungkin Anda lakukan. Saya sarankan beralih dari mysqli ke PDO yang menangani parameter variabel dengan cara yang jauh lebih baik (dan memiliki sintaks yang unggul secara umum, menurut saya):

$pdo = new PDO('mysql:host=localhost', 'username', 'password');
$stmt = $pdo->prepare($selectedstudentanswerqry);
$stmt->execute($parameters);
$selectedstudentanswernum = $stmt->rowCount();


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nonaktifkan Login Root di phpMyAdmin

  2. Bahasa Kueri Doktrin mendapatkan Maks/Baris Terbaru Per Grup

  3. Optimalisasi MySQL untuk REGEXP

  4. Jumlah dan grup MySQL berdasarkan hari

  5. Kesalahan MySQL 1005?