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

MySQLi không chuẩn bị được một câu lệnh

Tất cả các hàm / phương thức mysqli có thể bị lỗi trong trường hợp đó chúng sẽ trả về false. I E. nếu chuẩn bị () không thành công thì $ stmt không phải là một đối tượng mà bạn có thể gọi một phương thức trên đó ngoại trừ một bool (false). Bạn phải kiểm tra các giá trị trả về và thêm một số xử lý lỗi, ví dụ:

$stmt = $mysqli->prepare('SELECT name FROM `rooms` WHERE r_id=?');
if ( !$stmt ) {
    printf('errno: %d, error: %s', $mysqli->errno, $mysqli->error);
    die;
}

$b = $stmt->bind_param('i', $roomID);
if ( !$b ) {
    printf('errno: %d, error: %s', $stmt->errno, $stmt->error);
}

$b = $stmt->execute();
if ( !$b ) {
  and so on and on

xem http://docs.php.net/mysqli-stmt.errno et al

trong trường hợp này, bạn có thể gặp phải sự cố rằng bạn không thể tạo một câu lệnh khác trong khi vẫn còn kết quả / tập hợp kết quả đang chờ xử lý cho câu lệnh trước đó.
xem http://docs.php.net/mysqli-stmt.close :




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để sao chép một bảng với các khóa và các tính năng cấu trúc khác được giữ lại trong MySQL?

  2. Lỗi cú pháp PHP PDO hoặc vi phạm quyền truy cập:1064 khi chèn

  3. ImportError:Không có mô-đun nào có tên MySQLdb

  4. Chọn dữ liệu giữa một phạm vi ngày / giờ

  5. Bảng cập nhật MySQL dựa trên một giá trị bảng khác