Lin*_*000 6 php database-abstraction codeigniter
检测到Codeigniter中的数据库查询返回零结果时,我没有太多运气.我已经很好地阅读了关于PHP计数功能的说明,但我没有更明智!
我从控制器调用如下查询/视图:
$data['result'] = $this->search_model->do_search(set_value('name'));
$data['title'] = "Search results";
$this->load->view('search_view',$data);
Run Code Online (Sandbox Code Playgroud)
该视图生成一个结果表为我好,但是当我试图和陷阱空结果,计数始终返回1:
我试过if count(array($result)),只是if count($result)
那么什么是获得计数的好方法?我在我的开发笔记本电脑上使用Fedora 13和PHP 5.3.3.
小智 8
您的模型中最好的做法如下:
$query = $this->db->something()....
...
...
if ( $query->num_rows() > 0 )
{
return $query->result();
}
else
{
return FALSE;
}
Run Code Online (Sandbox Code Playgroud)
然后在您的控制器或视图中,您将执行以下操作:
if ( !empty($my_db_result) )
{
......
}
Run Code Online (Sandbox Code Playgroud)
此过程使您可以根据结果类型响应结果.如果可以检索行,这将返回一个数组,其中的项目可以通过PHP的count()函数进行计数.由于第二个块检查结果是否为空(注意"FALSE"被视为空),您将不会遇到任何问题(例如,当使用foreach循环时),并且您可以指定在没有的情况下该怎么做结果.
| 归档时间: |
|
| 查看次数: |
51289 次 |
| 最近记录: |