codeigniter中的mysql_fetch_row

时间:2017-03-02 08:13:03

标签: php mysql codeigniter

如何在codeigniter中使用mysql_fetch_row? 在php中当我用户mysql_fetch_row时,我会得到这样的结果

$result = mysql_query("SELECT id,email FROM people WHERE id = '42'");
if (!$result) {
    echo 'Could not run query: ' . mysql_error();
    exit;
}
$row = mysql_fetch_row($result);

echo $row[0]; // 42
echo $row[1]; // the email value

我可以在数字类型中获得带索引的数组。

但是当我像这段代码一样使用codeigniter时

$db=$this->load->database($_SESSION['DB'], TRUE);
        $q=$db->query("select ID, Name from mdashboard");
        foreach($q->result_array() as $d)
        {
            echo $d['ID'];
        }

我在字符串类型中得到索引数组。

Codeigniter可以像我的第一个代码一样吗?

5 个答案:

答案 0 :(得分:0)

尝试这样做。使用row_array()将匹配的结果集放在where条件中。

$this->db->select('id,email');
$this->db->where('id',42);
$row = $this->db->get('people')->row_array();
echo $row['id']; // 42
echo $row['email']; // the email value 

答案 1 :(得分:0)

在codeigniter中使用mysql get result作为数组,你可以做到

use result_array() get result  or use row_array() get number
public function getBy($where = array(), $field = '*')
{
    $this->db->select($field);
    $query = $this->db->get_where($this->table_name, $where);
    if (!$query) {
        return array();
    }
    return $query->result_array();
}

答案 2 :(得分:0)

您应该使用codeigniter的row函数而不是mysql_fetch_row

$q=$db->query("SELECT id,email FROM people WHERE id = '42'");
$result= $q->row();
$result_array =  array_values((array)$result);
$email = $result_array[1];

答案 3 :(得分:0)

这可能对您有所帮助

$this->db->from('people');
$this->db->select('id,email');
$this->db->where('id',42);
$result_array = $this->db->get();
$result=$result_array->row_array()
echo $row[0]; 
echo $row[1]; 

答案 4 :(得分:0)

以下是根据您的需要获取数据的自定义功能。

function getData ( $news_id )
{
    $this->db->select('ID, Name');
    $this->db->from('mdashboard');

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

    if ( $query->num_rows() > 0 )
    {
       $row = $query->row_array();
       return $row;
    }
}
$result = getData();
echo $result['ID'];

注意:不要使用mysql_ *函数,因为它们是在较新版本中删除的