2017-03-02 1 views
0

wie mysql_fetch_row in codeigniter verwenden? in PHP, wenn ich Benutzer mysql_fetch_row i i Array wie diesesmysql_fetch_row in codereigner

$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 

führen wird erhalten mit dem Index in Nummerntyp bekommen.

Aber wenn ich verwende codeigniter wie dieser Code

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

i-Array mit dem Index in String-Typ erhalten.

kann Codeigniter meinen ersten Code mögen?

+2

** DO NOT USE 'mysql_query' ** depricated. Nicht. Halt genau dort an. Lesen Sie die Dokumentation zu [Zugreifen auf Datenbanken in CodeIgniter] (https://codeigniter.com/user_guide/#database-reference). Wenn Sie Fehler erhalten, arbeiten Sie das Problem durch und beheben Sie es. Gib nicht auf und gehe zurück zu einer veralteten API. Vielleicht ist '$ d' nicht in der Form, wie Sie es erwarten. Finden Sie heraus, was das enthält, bevor Sie darauf zugreifen. – tadman

+0

** USE ** 'mysqli' ** ODER **' pdo' –

+0

Mögliches Duplikat von [Get ASSOC array Wert nach numerischem Index] (http://stackoverflow.com/questions/21854774/get-assoc-array-value -by-numeric-index) – hassan

Antwort

0

Versuchen Sie wie folgt .use row_array(), um das übereinstimmende Ergebnis in wo Bedingung zu erhalten.

$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 
+0

Wenn ich row_array benutze, muss ich den Code eingeben wie $ row ['id'], nicht $ row [0] – Kunbero

+0

Oho ja sorry error.Try jetzt. –

+0

in dem Punkt, ich möchte Daten mit Array in Nummer Index, nicht Zeichenfolge index – Kunbero

0

In codeigniter Einsatz von MySQL als Array erhalten führen Sie tun können, dass

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(); 
} 
0

Sie sollten row Funktion codeigniter die anstelle von 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]; 
+0

Wie wenn das Ergebnis mehr als 1 Daten? – Kunbero

+0

meine Antwort bearbeitet, mit dem Ergebnis der Array zu werfen. 'result_array [0]' ist die ID, 'result_array [1]' ist eine E-Mail. – AnatPort

+0

Wenn das Ergebnis mehr als eine Zeile ist, verwenden Sie 'q-> result()' – AnatPort

0

Dies kann Sie möglicherweise Hilfe

$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]; 
0

Unten finden Sie eine benutzerdefinierte Funktion, um Daten nach Ihren Bedürfnissen zu erhalten.

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']; 

HINWEIS: DONT USE mysql_ * Funktion, weil sie in neuere Version

Verwandte Themen