Cách sửa lỗi: Notice – trying to get property ‘num_rows’ of non-object trong php

Khi viết mã PHP truy vấn dữ liệu, có thể gặp những cảnh báo hoặc lỗi. Ví dụ lỗi: Notice – trying to get property num_rows of non-object. Lỗi này có thể xảy ra hoặc không xảy ra vì còn phụ thuộc vào dữ liệu. Vậy làm thể nào để khắc phục?

Khi nào xảy ra lỗi: Notice – trying to get property ‘num_rows’ of non-object

Giả sử khi chúng ta viết mã truy vấn dữ liệu từ MySQL. Và để đọc dữ liệu, chúng ta kiểm tra điều kiện có tồn tại record nào trong bảng hay không. Ví dụ đoạn mã dưới đây, sử dụng câu lệnh if ($rerult->num_rows>0)

Tuy nhiên, khi thực thi, ta gặp phải cảnh báo như sau:

Cảnh báo Notice – trying to get property ‘num_rows’ of non-object là do chúng ta lấy thuộc tính num_rows của một đối tượng (object – ở đây là $result) có kết quả ‘null‘. Tức là truy vấn trả về kết quả rỗng.

Cách xử lý cảnh báo như thế nào?

Để loại bỏ cảnh báo này, chúng ta chỉ cần kiểm tra điều kiện đối tượng có trả về kết quả khác null hay không. Cụ thể, ta đặt thêm điều kiện if($result) (dòng thứ 2) trước khi xét đến thuộc tính num_rows (dòng thứ 3) như dưới đây:

Như vậy, sau khi xử lý xong, chúng ta đã loại bỏ được cảnh báo trên rồi đấy. Môi Trường số chúc các bạn thành công.