如何在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可以像我的第一个代码一样吗?
答案 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_ *函数,因为它们是在较新版本中删除的