簡體   English   中英

沒有foreach循環的codeigniter單個結果

[英]codeigniter single result without foreach loop

我正在使用codeigniter從數據庫中獲取單個結果,如下所示:

$user = $this->db->query("SELECT * FROM users LIMIT 1");

然后,我以這種方式獲取返回的對象並循環通過它:

foreach ($user->result() as $row) { ... }

可以想象,使用循環是沒有意義的,因為只有一個結果。 有沒有一種方法可以獲取用戶參數而不循環? 此行中的內容:

echo $user['name'];

提前致謝。

$user = $this->db->query("SELECT * FROM users LIMIT 1")->row();

將其作為對象( echo $user->name;

$user = $this->db->query("SELECT * FROM users LIMIT 1")->row_array();

因為具有作為數組( echo $user['name']; );

$user = $this->db->limit(1)->get('users')->row(); //or ->row_array();

使用AR;

$row = $user->first_row();

從結果集中獲取第一行($ this-> db-> result())作為對象(默認);

$row = $user->first_row('array');

從結果集中獲得第一行作為數組;

$row = $user->row_array(1);

返回特定的行(在這種情況下,首先返回。只需傳遞該行的<N> )。 也適用於$user->row(1);

這將是:

$user = $this->db->query("SELECT * FROM users LIMIT 1")->row_array();

此處有更多詳細信息: http : //ellislab.com/codeigniter/user-guide/database/results.html

做這樣的事情

    //in the model
    $query = $this->db->query("your query");

$row = $query->row();

    if (isset($row))
return $row;
}else{
return false;
}

然后像這樣回顯你的結果

echo $row->username;

如果您想將其傳遞給視圖

//in the controller

$this->load->model('somemodel');
        $hm=$this->somemodel->somemethod();
        $data['query']=$hm;
    $this->load->view('path/to/view',$data);

然后以相同的方式回聲

echo $row->username;

例如,假設您的模型函數是這樣的……

 public function get_users()
 {

  $query = "Select * from users limit 1";

  $res=$this->db->query($query);

    if($res->num_rows()>0){
        return $res->result("array");
    }
    return array();
 }

假設您正在像這樣在控制器函數中調用此模型

    $users =  $this->model_file->get_users();

然后您可以像這樣echo $users[0]['user_name'];

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM