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

mysqli nhiều truy vấn - biến set tạo ra lỗi boolean / làm thế nào để bỏ qua điều này?

Đó là vì mysql_query hàm sẽ chỉ chấp nhận một truy vấn, nhưng bạn đã cho nó hai, được phân tách bằng dấu chấm phẩy. Hãy thử một trong hai:

  1. Chạy từng truy vấn riêng biệt (không biết điều này có hiệu quả không):

    mysql_query( "SET @N=-1" );
    mysql_query( "SELECT `id`, (@N:[email protected]+1) AS `mycount` FROM `mydb`" );
    
  2. Sử dụng mysqli với multi_query hàm (hoặc một PDO tương đương nếu có).

Để trả lời câu hỏi đã cập nhật của bạn:hãy kiểm tra trang hướng dẫn sử dụng PHP để biết multi_query. Tôi nghĩ bạn sẽ muốn sử dụng mysqli::next_result . Một cái gì đó như thế này, sử dụng kiểu thủ tục:

mysqli_multi_query($link, $query);
mysqli_next_result($link);

if ($result = mysqli_store_result($link)) {
    while ($row = mysqli_fetch_row($result)) {
        printf("%s\n", $row[0]);
    }
    mysqli_free_result($result);
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL truy xuất biến từ Thủ tục được lưu trữ trong PHP PDO

  2. Làm thế nào để chuyển đổi thời gian MySQL

  3. Tăng trường cơ sở dữ liệu lên 1

  4. gọi tập lệnh bên ngoài với trình kích hoạt mySQL WHITOUT sys_exec trên ubuntu ARMHF

  5. Cài đặt MySQL với ansible trên ubuntu