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

Giá trị trả về của Truy vấn MySQLi trong trường hợp Chọn không có hàng phù hợp

Từ tài liệu MySQLi :

Vì vậy, về cơ bản, ngay cả khi truy vấn không trả về bất kỳ hàng nào, nó vẫn là một truy vấn thành công. Bạn nên kiểm tra số hàng được trả về. Thay đổi if của bạn điều kiện để:

If ($result->num_rows) {

Chú thích bên lề:

  1. Bây giờ là thời điểm thích hợp để thực hiện các bước ban đầu chính xác trong việc làm việc với PHP-MySQL. Thay vì sử dụng hàm truy vấn, bạn nên sử dụng Câu lệnh chuẩn bị .
  2. Luôn sử dụng xử lý Ngoại lệ (try-catch ), để bắt các lỗi khác trong quá trình thực thi truy vấn.

Đây là mã tương đương sử dụng các câu lệnh đã soạn sẵn và xử lý ngoại lệ:

try {

    // Prepare the query
    $stmt = "SELECT * FROM bank 
             WHERE name = ? 
               AND day = ? 
               AND time = ?";

    // Bind the parameters
    // assuming that your day and time are integer values
    $stmt->bind_param("sii", 'jack', '1', '2');

    // execute the query
    $stmt->execute();

    // Getting results:
    $result = $stmt->get_result();

    if ($result->num_rows === 0) {
        echo "0 results";
    } else {
        echo "success";

        // reading results
        while($row = $result->fetch_assoc()) {
            $name = $row['name'];
            $day = $row['day'];
            $time = $row['time'];
        }
    }

} catch (Exception $e) {

     // your code to handle in case of exceptions here
     // generally you log error details, 
     //and send out specific error message alerts
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ngăn dữ liệu trùng lặp được nhập vào cơ sở dữ liệu mysql

  2. Cần hỗ trợ truy cập cơ sở dữ liệu mysql bằng node.js

  3. rails COUNT CHỌN DISTINCT

  4. Kích hoạt cuộc gọi trong xóa theo tầng

  5. LỖI 1698 (28000):Quyền truy cập bị từ chối đối với người dùng 'root' @ 'localhost'