I am working on a system where every thing works fine as long as data is present in the database. But I wanted to test it against empty database. When I did that I got similar issues on almost every page.
An uncaught Exception was encounteredType: ErrorMessage: Call to a member function row() on boolean
I know what is issue here, but I want to know how I should handle the exception. I don't want the error message to disturb my system in case of empty database. One solution is turning off error_reporting
but I am looking for a better solution.
If you are sure there is one row for your query :
$sql = "SELECT * FROM table WHERE id = '1'"; $query = $this->db->query($sql); if($query->num_rows() == 1) { $row = $query->row(); }
2.If the result may contain multiple rows :
$sql = "SELECT * FROM table";
$query = $this->db->query($sql)->result();
if(!empty($query))
{
foreach($query as $row)
{
//do something
}
}
isset
will throw warning if the variable does not exist. empty()
will not throw that warning
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.