CodeIgniter-显示查询结果


CodeIgniter - showing query result

我的代码中哪里出错了?

控制器

class uzytkownik extends CI_Controller
{       
    public function index()
    {
        $this -> load -> model('Uzytkownik_model');
        $DaneUzytkownicy = array(
        'Dane' =>  $this -> Uzytkownik_model -> PobierzUzytkownikow(),
        );
        $this -> load -> view('naglowek');
        $this -> load -> view('logo');
        $this -> load -> view('uzytkownicy', $DaneUzytkownicy);
        $this -> load -> view('stopka');

型号

class Uzytkownik_model extends CI_Model
{
    public function __construct()
    {
        parent::__construct();
    }
    public function PobierzUzytkownikow()
    {
        $ListaUzytkownikow = $this -> db -> query('SELECT * FROM uzytkownik');
        return $ListaUzytkownikow;
    }

查看

foreach ($Dane->result() as $Uzytkownik)
{
    var_dump($Uzytkownik);
    echo $Uzytkownik['id'].' '.$Uzytkownik['imie'].' ' .$Uzytkownik['nazwisko'].'<br>';
}

结果我得到了

object(stdClass)#18(7){["id"]=>string(1)"1"["imie"]=>string(3)"Jan"["nazwisko"]=>字符串(8)"Kowalski"["email"]=>string(12)"jan@kowal.pl"["login"]=>string(5)"Kowal"["haslo"]=>字符串(4)"1234"["data_rejestracji"]=>字符串(19)"2015-02-23 11:45:48"}致命错误:无法将stdClass类型的对象用作中的数组C: 第6行上的''examplep''htdocs''ci''application''views''uzytkownicy.php

为什么会出现致命错误?

如果要将结果用作数组,请使用result_array()而不是result()。否则,它将被视为目标
foreach ($Dane->result_array() as $Uzytkownik) {
    var_dump($Uzytkownik);
    echo $Uzytkownik['id'] . ' ' . $Uzytkownik['imie'].' ' . $Uzytkownik['nazwisko'] . '<br>';
}

在您的情况下,结果$Uzytkownik将是一个对象,而不是一个数组。所以你必须像这个一样访问

echo $Uzytkownik->id.' '.$Uzytkownik->imie.' '.$Uzytkownik->nazwisko;

使用result_array(),因为您必须使用作为结果数组,现在您将rendred作为std对象类,

开始了,

foreach ($Dane->result_array() as $Uzytkownik)
        {
            var_dump($Uzytkownik);
            echo $Uzytkownik['id'].' '.$Uzytkownik['imie'].' ' .$Uzytkownik['nazwisko'].'<br>';
        }