【发布时间】:2015-09-22 14:27:12
【问题描述】:
我正在使用 CI 从数据库中获取数据。每当我输出结果时,我总是得到一个错误和一个空值。错误是:
A PHP Error was encountered
Severity: Notice
Message: Trying to get property of non-object
Filename: user/joinroomlanding.php
Line Number: 31
输出页面控制器:
public function joinroom(){
$data['title'] = "User| Join Room";
$data['message'] = $this->session->flashdata('message');
$data['room'] = $this->user_model->joinRoom();
if($this->session->userdata('is_logged_in') == 2 ){
$this->load->view('include/header_user',$data);
$this->load->view('include/navbar_user');
$this->load->view('user/joinroomlanding');
$this->load->view('include/footer_user');
} else {
redirect('restricted');
}
}
验证输入:
public function joinRoomValidation(){
$this->load->library('form_validation');
$this->load->model('user_model');
$this->form_validation->set_rules('roomCode', 'Room Code', 'required|xss_clean|numeric');
if($this->form_validation->run() == true){
if($this->user_model->joinRoom() == true){
$this->session->set_flashdata('message', "<p class='alert alert-success'><span class='glyphicon glyphicon-ok' aria-hidden='true'></span> Room found successfully.</p>");
redirect('joinroomlanding');
} else {
$this->session->set_flashdata('message', "<p class='alert alert-danger'><span class='glyphicon glyphicon-exclamation-sign' aria-hidden='true'></span> You need to enter a valid room code.</p>");
redirect('user_roomlist');
}
} else {
$this->session->set_flashdata('message', "<p class='alert alert-danger'><span class='glyphicon glyphicon-exclamation-sign' aria-hidden='true'></span> You need to enter a room code.</p>");
redirect('user_roomlist');
}
}
型号:
public function joinRoom(){
$roomCode = $this->input->post('roomCode');
$this->db->select('*');
$this->db->where('room_code', $roomCode);
$query = $this->db->get('room');
if($query->num_rows() == 1){
return $query->row_array();
} else {
return false;
}
}
joinroomlanding.php
<div class="text-center"><?php echo $message;?></div>
<div class="panel panel-green">
<div class="panel-body">
<div class="text-center">
<h3><?php echo $room->room_name; ?></h3>
<h3><?php var_dump($room->room_name); ?></h3>
<h3><?php echo $room->room_code; ?></h3>
<h3><?php echo $room->date_created; ?></h3>
</div>
</div>
</div>
</div>
原生 php 查询解决这个问题(joinroomlanding.php):
$classCode=$this->input->post('classCode');
$sql= "SELECT * FROM class WHERE class_code='".$classCode."'";
$result= mysql_query($sql);
while($row = mysql_fetch_array($result)) {
echo $row['class_name'];
echo $row['class_section'];
echo $row['class_description'];
echo $row['class_limit'];
}
【问题讨论】:
-
您能显示代码中第 31 行(来自错误)的位置吗?
标签: php mysql database codeigniter phpmyadmin