在codeigniter中从数据库中检索结果

时间:2016-02-11 11:27:53

标签: php mysql codeigniter

据我所知,我们可以使用

$result = $query->row_array();

从数据库中检索单个值和

$result = $query->result_array();

从数据库中检索多个值。

在这种情况下,我使用特定的表CRUD选项。所以不要写

$rows = $query->num_rows();
if( $rows > 1 ){
    $result = $query->result_array();
}
if( $rows == 1 ){
    $result = $query->row_array();
}

即使表只有一行或多行,还有其他方法可以编写查询吗?

请指导我。在此先感谢好友

3 个答案:

答案 0 :(得分:0)

你可以试试这种方式

$query = $this->db->query("YOUR QUERY");

if ($query->num_rows() > 0)
{
   foreach ($query->result() as $row)
   {
      echo $row->title;
      echo $row->name;
      echo $row->body;
   }
}

如果你想检查一行或多行

 $query = $this->db->query("YOUR QUERY");

    if ($query->num_rows() == 1)
    {
       foreach ($query->result() as $row)
       {
          echo $row->title;
          echo $row->name;
          echo $row->body;
       }
    }else if($query->num_rows() > 1){
       foreach ($query->result() as $row)
       {
          echo $row->title;
          echo $row->name;
          echo $row->body;
       }
}else{
    echo 'No any records in data base';
}

它并不重要一条或多条记录

答案 1 :(得分:0)

试试这个:

$query = $this->db->query("YOUR QUERY");
if ($query->num_rows() > 0)
{
    return $query->result();
}else{
    return false;
}

答案 2 :(得分:-1)

$result=$this->db->count_all("table_name")>1?$this->db->get("table_name")->result_array():$this->db->get("table_name")->row_array();
echo "<pre>";
print_r($result);