我正在尝试从我的mysql数据库中提取信息。我相信我正在加入表格(下面的函数语法)但是当我尝试在视图中显示提取的信息时,没有任何东西出现。我使用了var_dump,我的数组正在说
array(size = 0)empty
我也收到这些错误消息。
严重性:注意
消息:尝试获取非对象的属性
文件名:views / view_show_all_averages.php
行号:6
严重性:注意
消息:未定义的偏移量:0
文件名:views / view_show_all_averages.php
行号:7
我的问题是,你认为我哪里出错了。我应该采取哪些措施来解决我的问题? (下面的语法)谢谢大家。
我的Model_data函数
function getJoinInformation($year,$make,$model)
{
$this->db->select('*');
$this->db->from('tbl_car_description d');
$this->db->join('tbl_car_prices p', 'd.id = p.cardescription_id');
$this->db->where('d.year', $year);
$this->db->where('d.make', $make);
$this->db->where('d.model', $model);
$query = $this->db->get();
return $query->result();
}
我的网站控制器
public function getAllInformation($year,$make,$model)
{
if(is_null($year)) return false;
if(is_null($make)) return false;
if(is_null($model)) return false;
$this->load->model('model_data');
$data['allvehicledata'] = $this->model_data->getJoinInformation($year,$make,$model);
$this->load->view('view_show_all_averages',$data);
}
我的观点
<?php
var_dump($allvehicledata);
if(isset($allvehicledata) && !is_null($allvehicledata))
{
echo $allvehicledata->make. ' ' .$allvehicledata->model . "<br />";
$make = $allvehicledata[0]->make;
echo "$make";
// $state = $cities[0]->state;
// echo '<hr>';
foreach ($allvehicledata as $car)
{
echo anchor('site/getAllInformation/'.$car->year.'/'.$car->make.'/'.$car->model, $car->year.' '.$car->make.' '.$car->model, array('title'=>$car->make.' '.$car->model)).'<br>';
}
}
?>
答案 0 :(得分:0)
您的通知错误正在发生,因为您从模型函数返回一个数组,但正在调用数据,就像它是一个对象一样。如果您只想从数据库中检索一行数据,请使用row()
代替result()
。请阅读Generating Query Results了解详情。
您正在运行的查询没有失败,但它没有返回任何结果。有可能你的条件没有给出你认为的值(这是我的猜测,无论如何)。
执行数据库查询后使用echo $this->db->last_query()
以确切了解正在发送的SQL,并使用它来确定可能出错的内容以及结果集为空的原因。