Đâ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.
- Kết nối với cơ sở dữ liệu
- Đảm bảo kết nối thành công
- Chạy truy vấn
- Đả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 đó
- 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)
- 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
}
}