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

Làm cách nào để lặp qua truy vấn mysql với php

Đây là mẫu cơ bản cho loại điều này, sử dụng các hàm php tích hợp sẵn (giả sử mysql kiểu cũ, nhưng tương tự bằng cách sử dụng các thư viện cấp cao hơn hoặc back-end của cơ sở dữ liệu khác). Trong ví dụ này, các lỗi được xử lý bằng cách đưa ra các ngoại lệ, nhưng đó chỉ là một cách để thực hiện.

  1. Kết nối với cơ sở dữ liệu
  2. Đảm bảo kết nối thành công
  3. Chạy truy vấn
  4. Đảm bảo rằng truy vấn không bị lỗi vì lý do nào đó (thường là lỗi cú pháp SQL). Nếu nó không thành công, hãy tìm hiểu lý do và xử lý lỗi đó
  5. Kiểm tra để đảm bảo rằng truy vấn đã trả về ít nhất một hàng (0 hàng thường là trường hợp đặc biệt)
  6. Lặp lại các hàng đã trả về, làm bất cứ điều gì bạn cần.

Các lớp ngoại lệ sẽ cần được xác định (chúng là cú pháp không tích hợp sẵn duy nhất ở đây, nhưng bạn không nên ném Ngoại lệ đơn giản).

Mã mẫu:

<?PHP
//try to connect to your database.
$conn = mysql_connect(...);

//handle errors if connection failed.
if (! $conn){
    throw new Db_Connect_Error(..); 
}   

// (try to) run your query.
$resultset = mysql_query('SELECT ...');

//handle errors if query failed.  mysql_error() will give you some handy hints.
if (! $resultset){ 
    // probably a syntax error in your SQL, 
    // but could be some other error
    throw new Db_Query_Exception("DB Error: " . mysql_error()); 
}

//so now we know we have a valid resultset

//zero-length results are usually a a special case    
if (mysql_num_rows($resultset) == 0){   
    //do something sensible, like tell the user no records match, etc....
}else{
    // our query returned at least one result. loop over results and do stuff.
    while($row = mysql_fetch_assoc($resultset)){
        //do something with the contents of $row
    }
}


  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 lệnh IF bên trong mệnh đề where trong SQL

  2. Lỗi kết nối SSL MySQL C # khi cố gắng sử dụng conn.Open ()

  3. Liquibase - tổng kiểm tra khác với các nhà cung cấp cơ sở dữ liệu khác nhau

  4. lấy tên cha của danh mục con bằng một truy vấn duy nhất trong mysql

  5. Làm thế nào để lấy khóa chính của bảng?