我有一个问题,我无法弄清问题是什么,显然我忽视了一些事情。请参阅以下代码。
<?php
class CompanyContact
{
//fields;
private $iID;
private $sFirstName;
private $sInfix;
private $sLastName;
private $sPhoneNumber;
private $sEmail;
private $dbCon;
public function __construct(){
$sQuery = "SELECT * FROM company_contact";
$this->dbCon = Registry::get('oDb')->prepare($sQuery);
$this->dbCon->execute();
$data = $this->dbCon->fetchAll(PDO::FETCH_ASSOC);
echo "<pre>";
print_r($data);
echo "</pre>";
$this->iID = $data['id'];
}
public function getFirstName(){
return $this->sFirstName;
}
}
当我打印$ data时,我看到输出。但问题是当我想输出用户的id时。然后我收到以下错误:注意:未定义的索引:id
在我的控制器中我有以下代码:
<?php
$c = new CompanyContact();
$oTemplate->assign("contacts",$c);
?>
在我看来我想要这个
<?php
foreach($this->var['contacts'] as $contacts){
echo $contacts->getFirstName();
}
?>
我知道在您的视图中使用PHP并不是最好的意图,但我正在使用我公司自己制作的MVC框架,所以它有点废话。预先感谢。
答案 0 :(得分:1)
只获取第一个ID
$this->iID = $data[0]['id'];
适用于所有
foreach($data as $d) {
echo $d['id']
}
答案 1 :(得分:0)
这是多维数组,因为$this->dbCon->fetchAll(PDO::FETCH_ASSOC);
将返回所有行。
$ this-&gt; iID = $ data [0] ['id'];