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

PDO ::Query () trả về false

Sử dụng errorinfo() của PDO chức năng để tìm hiểu lý do.

if( ! $sth = $db->query("SELECT * FROM titles ORDER BY RAND() LIMIT 1") ) {
  die(var_export($db->errorinfo(), TRUE));
}

Cập nhật muộn

Vì lợi ích của việc làm cho các câu trả lời cũ của tôi trở nên tốt hơn, việc đặt PDO để đưa ra các ngoại lệ cho lỗi dễ quản lý hơn nhiều so với việc kiểm tra mọi hàm trả về.

$dbh = new PDO($connstr, $user, $pwd);
$dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

Hay, ngắn gọn hơn:

$dbh = new PDO($connstr, $user, $pwd, [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]);



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bảng thả xuống khiến MySQL bị treo

  2. Truy vấn tổng Mysql trả về kết quả không chính xác khi sử dụng nhiều phép nối

  3. Các cột trong bảng có Khóa ngoại có thể là NULL không?

  4. laravel có:Không tìm thấy cột

  5. Ngày của bảng tổng hợp mysql (dữ liệu dọc sang ngang)