我的代码在哪里错了?
控制器
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”] =&gt; string(1)“1”[“imie”] =&gt;串(3) “Jan”[“nazwisko”] =&gt; string(8)“Kowalski”[“email”] =&gt;串(12) “jan@kowal.pl”[“login”] =&gt; string(5)“Kowal”[“haslo”] =&gt;串(4) “1234”[“data_rejestracji”] =&gt; string(19)“2015-02-23 11:45:48”} 致命错误:无法使用stdClass类型的对象作为数组 第6行的C:\ xampp \ htdocs \ ci \ application \ views \ uzytkownicy.php
为什么会出现致命错误?
答案 0 :(得分:0)
如果要将结果用作数组,请使用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;
答案 1 :(得分:0)
使用result_array(),因为你必须使用结果数组,现在你呈现为std对象类,
我们走了,
foreach ($Dane->result_array() as $Uzytkownik)
{
var_dump($Uzytkownik);
echo $Uzytkownik['id'].' '.$Uzytkownik['imie'].' ' .$Uzytkownik['nazwisko'].'<br>';
}