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;}
Não tenho certeza se este é o caminho certo. Eu acho que se deve obter o resultado para uma variável e usar cada uma delas, para estar seguro. Por exemplo, $ results = $ wpdb-> get_results ($ sql); e use foreach ($ resultados como $ valor).
Gogol
realmente não deve importar nesse caso, pois retorna array, objeto ou nulo, não deve haver risco de obter um recurso "hostil ao loop". Dito isto, você pode querer percorrer novamente eles para outra coisa e, se assim for, definitivamente armazená-lo. não consulte duas vezes
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.
$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
Para obter outros formatos, basta alterar com ARRAY_Abase 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;}//Usageforeach($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 idcoluna). 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 tooforeach($obj as $col => $val)
echo $col .': '. $val . PHP_EOL;
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
fonte
Para usar como uma matriz associativa:
Uso
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
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.fonte
Este código funciona perfeito para mim:
fonte