mysqli query only returning first row

前端 未结 5 2071
不思量自难忘°
不思量自难忘° 2020-12-12 03:16

I am migrating from mysql to mysqli, and I am having trouble returning more than one row from the database in a query.

$db = new mysqli($hostname, $sql_us, $         


        
5条回答
  •  独厮守ぢ
    2020-12-12 03:41

    When you return in a function it stops executing at that point and goes back to the where it was called from with the value that you are returning.

    In your case when you do a return $row, you are getting out of the function as soon as the first row is read.

    Fix is:

    $result = array();
    if ($type == 'assoc') {
        while($row = $result->fetch_assoc()) {
          $result[] = $row;
        }
    
    } else {    
    
        while($row = $result->fetch_object()) {
          $result[] = $row;
        }   
    }
    return $row;
    

提交回复
热议问题