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

Không thể thực thi các truy vấn trong khi các truy vấn không có bộ đệm khác đang hoạt động lỗi trong vòng lặp

Sau khi bạn tìm nạp tất cả các kết quả trong vòng lặp thực thi của mình, bạn sẽ nhận được bộ hàng tiếp theo và sau đó đóng con trỏ trước khi cố gắng thực thi lại quy trình đã lưu trữ. Hãy thử điều này:

foreach($data_arr AS $key => $val){
    $values = $val;
    $stmt->execute();
    $res = $stmt->fetchAll();
    $stmt->nextRowset();   // NEW: Get the next rowset after fetching your results
    $stmt->closeCursor();  // NEW: Close the cursor
}

Sự bổ sung thực sự quan trọng ở đây là lệnh gọi tới nextRowSet () . Dưới mui xe, PDO đang trả lại hàng ghế thứ hai mà bạn cần truy cập trước khi thực hiện quy trình được lưu trữ thứ hai (và tiếp theo) trên cùng một kết nối.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. CHÈN và CHỌN trong MySQL truy vấn duy nhất

  2. PHP CRUD Tạo, chỉnh sửa, cập nhật và xóa bài đăng với cơ sở dữ liệu MySQL

  3. PDO ::__ construct ():Máy chủ đã gửi bộ ký tự (255) không xác định cho máy khách. Vui lòng báo cáo cho các nhà phát triển

  4. MySQL bỏ qua các hàng mà người dùng đã nhìn thấy khi kiểm tra một bảng đã xem

  5. Làm cách nào để mysql tự động khởi động? (chỉ linux-cli)