Eu tenho o seguinte:
$query = 'SELECT * FROM wp_pod_tbl_add_questions WHERE id LIKE '. $id;
$row = $wpdb -> get_results($query);
Como obtenho as colunas denominadas 'id' e 'name' de $ row?
Eu tenho o seguinte:
$query = 'SELECT * FROM wp_pod_tbl_add_questions WHERE id LIKE '. $id;
$row = $wpdb -> get_results($query);
Como obtenho as colunas denominadas 'id' e 'name' de $ row?
Respostas:
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;}
Mais informações aqui
Experimente sempre o Codex do WordPress: http://codex.wordpress.org/Class_Reference/wpdb#SELECT_Generic_Results
Essencialmente, dada a sintaxe padrão, a variável $ row aqui é um objeto que contém seus resultados. Como alternativa, você pode especificar o TIPO de resultado (matriz numérica, matriz associativa).
Supondo apenas um resultado, $ row-> id e $ row-> name devem fornecer as informações.
Se você receber mais de um resultado, desejará fazer um loop sobre as entradas no objeto.
Se você espera apenas uma linha retornar, tente usar $ wpdb-> get_row http://codex.wordpress.org/Class_Reference/wpdb#SELECT_a_Row
Para usar como uma matriz associativa:
$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
Uso
$something = $obj['column_name'];
foreach($obj as $col => $val)
echo $col . ': ' . $val . PHP_EOL . '<br />';
Para obter outros formatos, basta alterar com ARRAY_A
base na documentação de$wpdb->get_results()
. A resposta de Pippin é apropriada para a maioria dos objetos.
Para usar uma linha como uma matriz numerada indexada
$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 . ' ';
Para usar uma linha em uma matriz cujas chaves são a chave primária do seu banco de dados (geralmente uma id
coluna). Possivelmente mais eficiente que o método de matriz associativa.
$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;
Este código funciona perfeito para mim:
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;}