Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Lỗi xuất hiện trong mã mysqli và call_user_func_array ()

Đây là một tình huống cố định do thay đổi call_user_func_array hành vi trong PHP 5.4 (tôi phải giả định): Tài liệu

Tuy xấu xí như thế này, nó sẽ hoạt động khi gọi bind_param theo cách này:

$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]);
}

Tôi ghét điều này nhiều như bạn có thể làm. Tôi khuyên bạn nên chuyển từ mysqli tới PDO xử lý các tham số biến theo cách đẹp hơn nhiều (và có cú pháp cao hơn nói chung, theo ý kiến ​​của tôi):

$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. Tham gia bên trong laravel 5.2

  2. Cách chuyển ArrayList <> dưới dạng mệnh đề IN trong truy vấn SQL trong MySQL

  3. Trò chuyện trực tiếp với PHP và jQuery. Lưu trữ thông tin ở đâu? Mysql hoặc tệp?

  4. Bỏ qua thông báo lỗi mysql khi thực thi tệp sql

  5. Cách trả về danh sách các bộ ký tự có sẵn trong MySQL