-1

我正在尝试从我的 mysql 数据库中提取信息。我相信我正确地加入了表格(下面的函数语法)但是当我尝试在视图中显示提取的信息时,什么都没有显示。我使用了 var_dump 并且我的数组说

数组 (size=0) 空

我也收到这些错误消息。

严重性:通知

消息:试图获取非对象的属性

文件名: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>';
    }
}

?>
4

1 回答 1

0

您的通知错误正在发生,因为您正在从模型函数返回一个数组,但正在调用数据,就像它是一个对象一样。如果您只想从数据库中检索一行数据,请使用row()而不是result(). 阅读生成查询结果以获取更多信息。

您正在运行的查询没有失败,但它没有返回任何结果。很有可能您的 WHERE 条件没有被赋予您假设的值(无论如何,这是我的猜测)。

在执行 DB 查询后使用echo $this->db->last_query(),以准确查看正在发送的 SQL,并使用它来找出可能出错的地方以及结果集为空的原因。

于 2013-06-06T22:10:14.607 回答