Ich habe folgendes:
$query = 'SELECT * FROM wp_pod_tbl_add_questions WHERE id LIKE '. $id;
$row = $wpdb -> get_results($query);
Wie erhalte ich die Spalten 'id' und 'name' aus $ row?
Ich habe folgendes:
$query = 'SELECT * FROM wp_pod_tbl_add_questions WHERE id LIKE '. $id;
$row = $wpdb -> get_results($query);
Wie erhalte ich die Spalten 'id' und 'name' aus $ row?
Antworten:
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;}
Mehr Infos hier
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
So verwenden Sie es als assoziatives Array:
$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
Verwendungszweck
$something = $obj['column_name'];
foreach($obj as $col => $val)
echo $col . ': ' . $val . PHP_EOL . '<br />';
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
$rows = $wpdb->get_results( 'SELECT * FROM `tbl_name` WHERE `id` = '.$obj_id , ARRAY_N);
foreach($rows as $row){ $obj=$row; break; }
//Usage
foreach($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 id
Spalte). 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 too
foreach($obj as $col => $val)
echo $col . ': ' . $val . PHP_EOL;
Dieser Code funktioniert perfekt für mich:
global $wpdb;
$table_name = "my_table_name";
$myrows = $wpdb->get_results( "SELECT `id`, `name` FROM ".$table_name);
foreach ($myrows as $details) {
echo $details->id;
echo $details->name;}