0

我有一个问题,我只是无法弄清楚问题是什么,显然有一些我忽略了。请参阅以下代码。

<?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 框架,所以这有点废话。预先感谢。

4

2 回答 2

1

只获取第一个 id

$this->iID = $data[0]['id'];

对全部

foreach($data as $d) {
 echo $d['id']
}
于 2013-02-25T10:57:36.023 回答
0

它是多维数组,因为$this->dbCon->fetchAll(PDO::FETCH_ASSOC);将返回所有行

$this->iID = $data[0]['id'];

于 2013-02-25T10:55:41.183 回答