foreach( $wpdb->get_results("SELECT * FROM your_table_name WHERE id LIKE' . $id . ';")as $key => $row){// each column in your row will be accessible like this
$my_column = $row->column_name;}
Ich bin mir nicht sicher, ob dies der richtige Weg ist. Ich denke, man sollte das Ergebnis in eine Variable umwandeln und foreach verwenden, um sicher zu gehen. ZB $ results = $ wpdb-> get_results ($ sql); und verwenden Sie dann foreach ($ results als $ value).
Gogol
sollte in diesem Fall nicht wirklich von Bedeutung sein, da es Array, Objekt oder Null zurückgibt, sollte es kein Risiko geben, eine "schleifenunfreundliche" Ressource zu erhalten. Das heißt, Sie möchten sie vielleicht noch einmal für etwas anderes durchlaufen und wenn ja, auf jeden Fall speichern. nicht zweimal abfragen
Im Wesentlichen ist die Variable $ row hier angesichts der Standardsyntax ein Objekt, das Ihre Ergebnisse enthält. Sie können alternativ den TYP des Ergebnisses angeben (numerisches Array, assoziatives Array).
Wenn Sie nur ein Ergebnis annehmen, sollten Ihnen $ row-> id und $ row-> name die Informationen geben.
Wenn Sie mehr als ein Ergebnis zurückerhalten, möchten Sie die Einträge im Objekt durchlaufen.
$obj=[];
$rows = $wpdb->get_results('SELECT * FROM `tbl_name` WHERE `id` = '.$obj_id , ARRAY_A);foreach($rows as $row){ $obj=$row;break;}// $obj is now the selected row if a match was found
Um andere Formate zu erhalten, ändern Sie einfach ARRAY_Abasierend auf der Dokumentation für$wpdb->get_results() . Pippins Antwort ist für die meisten Objekte geeignet.
So verwenden Sie eine Zeile als numerisch indiziertes Array
$rows = $wpdb->get_results('SELECT * FROM `tbl_name` WHERE `id` = '.$obj_id , ARRAY_N);foreach($rows as $row){ $obj=$row;break;}//Usageforeach($obj as $col_value) echo $col_value .' ';
So verwenden Sie eine Zeile in einem Array, dessen Schlüssel der Primärschlüssel Ihrer Datenbank sind (häufig eine idSpalte). Möglicherweise effizienter als die assoziative Array-Methode.
$rows = $wpdb->get_results('SELECT * FROM `tbl_name` WHERE `id` = '.$obj_id , OBJECT_K);
$obj = $rows[ $obj_id ];//Usage
$something = $obj->column_name;//Remember you can loop over objects tooforeach($obj as $col => $val)
echo $col .': '. $val . PHP_EOL;
Probieren Sie immer den WordPress-Codex aus: http://codex.wordpress.org/Class_Reference/wpdb#SELECT_Generic_Results
Im Wesentlichen ist die Variable $ row hier angesichts der Standardsyntax ein Objekt, das Ihre Ergebnisse enthält. Sie können alternativ den TYP des Ergebnisses angeben (numerisches Array, assoziatives Array).
Wenn Sie nur ein Ergebnis annehmen, sollten Ihnen $ row-> id und $ row-> name die Informationen geben.
Wenn Sie mehr als ein Ergebnis zurückerhalten, möchten Sie die Einträge im Objekt durchlaufen.
Wenn Sie nur eine Zeile zurück erwarten, verwenden Sie $ wpdb-> get_row http://codex.wordpress.org/Class_Reference/wpdb#SELECT_a_Row
quelle
So verwenden Sie es als assoziatives Array:
Verwendungszweck
Um andere Formate zu erhalten, ändern Sie einfach
ARRAY_A
basierend auf der Dokumentation für$wpdb->get_results()
. Pippins Antwort ist für die meisten Objekte geeignet.So verwenden Sie eine Zeile als numerisch indiziertes Array
So verwenden Sie eine Zeile in einem Array, dessen Schlüssel der Primärschlüssel Ihrer Datenbank sind (häufig eine
id
Spalte). Möglicherweise effizienter als die assoziative Array-Methode.quelle
Dieser Code funktioniert perfekt für mich:
quelle