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;}
не уверен, что это правильный путь. Я думаю, что нужно получить результат для переменной и использовать foreach, чтобы быть в безопасности. Например, $ results = $ wpdb-> get_results ($ sql); и затем используйте foreach ($ results как $ value).
Гоголь
в этом случае не должно иметь большого значения, так как он возвращает массив, объект или ноль, не должно быть никакого риска получить ресурс «недружественного цикла». при этом вы, возможно, захотите просмотреть их снова для чего-то другого, и, если это так, определенно сохраните их не
По сути, учитывая синтаксис по умолчанию, переменная $ row здесь является объектом, содержащим ваши результаты. Вы можете поочередно указать ТИП результата (числовой массив, ассоциативный массив).
Если предположить только один результат, то $ row-> id и $ row-> name должны дать вам информацию.
Если вы получите более одного результата, вы захотите перебрать записи в объекте.
Для использования в качестве ассоциативного массива:
$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
Чтобы получить другие форматы, просто измените ARRAY_Aна основе документации для$wpdb->get_results() . Ответ Пиппина подходит для большинства объектов.
Чтобы использовать одну строку в качестве числового индекса
$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 .' ';
Использовать одну строку в массиве, ключи которого являются первичным ключом вашей базы данных (часто это idстолбец). Возможно, более эффективный, чем метод ассоциативного массива.
$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;
Всегда пробуйте кодекс WordPress: http://codex.wordpress.org/Class_Reference/wpdb#SELECT_Generic_Results
По сути, учитывая синтаксис по умолчанию, переменная $ row здесь является объектом, содержащим ваши результаты. Вы можете поочередно указать ТИП результата (числовой массив, ассоциативный массив).
Если предположить только один результат, то $ row-> id и $ row-> name должны дать вам информацию.
Если вы получите более одного результата, вы захотите перебрать записи в объекте.
Если вы ожидаете только одну строку назад, попробуйте использовать $ wpdb-> get_row http://codex.wordpress.org/Class_Reference/wpdb#SELECT_a_Row
источник
Для использования в качестве ассоциативного массива:
Применение
Чтобы получить другие форматы, просто измените
ARRAY_A
на основе документации для$wpdb->get_results()
. Ответ Пиппина подходит для большинства объектов.Чтобы использовать одну строку в качестве числового индекса
Использовать одну строку в массиве, ключи которого являются первичным ключом вашей базы данных (часто это
id
столбец). Возможно, более эффективный, чем метод ассоциативного массива.источник
Этот код идеально подходит для меня:
источник