我正在尝试列出数组的索引,但它一直在我脸上抛出错误。
我收到此错误:
遇到 PHP 错误
严重性:通知
消息:未定义索引:发件人
现在了解一些代码详细信息:我的打印行:
<div class="left"><label>Afsender: </label><p><?=$reservation['sender'] . ' (' . $reservation['email'] . ')'?></p></div></pre>
我的控制器:(使用 phil sturgeon 的 CodeIgniter 模板库)
public function readReservation($id)
{
$data['reservation'] = $this->reservation_model->getReservation($id);
$this->template->build('admin/readReservation_view', $data);
}
我的模型:
public function getReservation($id)
{
$query = $this->db->where('id', $id)->get('ita_reservations');
if ($query->num_rows > 0)
{
return $query->result();
}
else
return false;
}
我的 sql:
CREATE TABLE IF NOT EXISTS `ita_reservations` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`sender` varchar(200) NOT NULL,
`email` varchar(200) NOT NULL,
`date` varchar(200) NOT NULL,
`time` varchar(200) NOT NULL,
`persons` varchar(200) NOT NULL,
`phone` varchar(200) NOT NULL,
`message` varchar(1000) NOT NULL,
`time_received` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`confirmed` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;
现在让我感到困惑的是,相同的代码在其他地方也可以工作,但变量名不同。为了增加我的困惑,这是var_dump
来自我的印刷品上方的行:
array(1) { [0]=> object(stdClass)#42 (10) { ["id"]=> string(1) "1" ["sender"]=> string(7) "Kenneth" ["电子邮件“]=> 字符串(17)“zungate@gmail.com”[“日期”]=> 字符串(10)“23/05/2013”[“时间”]=> 字符串(5)“18:00” ["persons"]=> string(1) "4" ["phone"]=> string(8) "30243681" ["message"]=> string(12) "Ja nemlig ja" ["time_received"]= > 字符串(19)“0000-00-00 00:00:00”[“确认”]=> 字符串(1)“0”}}
发件人索引显然在那里,并且数组显然已正确加载。(所有索引都会抛出错误,而不仅仅是发件人)。
发生了什么事,我错过了什么?是的,我知道我应该检查isset
or empty
,但它存在,并且如果索引不存在则无法加载页面,因此检查有点没有意义。