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"]=> string(8) "Kowalski" ["email"]=> string(12)
"jan@kowal.pl" ["login"]=> string(5) "Kowal" ["haslo"]=> string(4)
"1234" ["data_rejestracji"]=> string(19) "2015-02-23 11:45:48" }
Fatal error: Cannot use object of type stdClass as array in
C:\xampp\htdocs\ci\application\views\uzytkownicy.php on line 6
为什么会出现致命错误?
如果要将结果用作数组,请使用 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(),因为你必须使用结果数组,现在你渲染为标准对象class,
我们开始了,
foreach ($Dane->result_array() as $Uzytkownik)
{
var_dump($Uzytkownik);
echo $Uzytkownik['id'].' '.$Uzytkownik['imie'].' ' .$Uzytkownik['nazwisko'].'<br>';
}
我的代码哪里出错了?
控制器
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"]=> string(8) "Kowalski" ["email"]=> string(12) "jan@kowal.pl" ["login"]=> string(5) "Kowal" ["haslo"]=> string(4) "1234" ["data_rejestracji"]=> string(19) "2015-02-23 11:45:48" } Fatal error: Cannot use object of type stdClass as array in C:\xampp\htdocs\ci\application\views\uzytkownicy.php on line 6
为什么会出现致命错误?
如果要将结果用作数组,请使用 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(),因为你必须使用结果数组,现在你渲染为标准对象class,
我们开始了,
foreach ($Dane->result_array() as $Uzytkownik)
{
var_dump($Uzytkownik);
echo $Uzytkownik['id'].' '.$Uzytkownik['imie'].' ' .$Uzytkownik['nazwisko'].'<br>';
}