简体   繁体   中英

PHP CodeIgniter exception handling

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.

  1. 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM