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

Làm cách nào để gặp lỗi khi chạy nhiều truy vấn với PDO?

Tôi đã tìm thấy câu trả lời bằng cách sử dụng một tuyên bố đã chuẩn bị sẵn. Sau khi lặp qua tất cả các tập hợp hàng, tôi có thể kiểm tra xem truy vấn cuối cùng được thực thi có gây ra lỗi hay không bằng cách sử dụng $stmt->errorInfo() .

$db = new PDO("mysql:host=localhost;dbname=test", 'root', '');
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_SILENT);
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, 1);

$sql = "
DELETE FROM car; 
INSERT INTO car(name, type) SELECT name, from FROM vehicle;
";

$stmt = $db->prepare($sql);
$stmt->execute();
$i = 0;

do {
  $i++;
} while ($stmt->nextRowset());

$error = $stmt->errorInfo();
if ($error[0] != "00000") {
  echo "Query $i failed: " . $error[2];
  die();
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cấu hình Nginx với Magento 1.8

  2. Kết nối MySQL thông qua localhost không hoạt động nhưng 127.0.0.1 đang hoạt động

  3. JDBC Xóa &Chèn bằng cách sử dụng hàng loạt

  4. Thuộc tính không xác định:Illuminate \ Database \ Eloquent \ Collection ::Laravel 5.2

  5. (1/1) MethodNotAllowedHttpException