НЕ МОЛЧИ!!!    Сделай что-нибудь, чтобы остановить войну России в Украине.
Иначе завтра ТЫ будешь следующим!

Методы wpdb-get_col(), $wpdb->prepare() класса $wpdb

Описание методов get_col(), prepare() класса $wpdb системы WordPress для взаимодействия с базами данных. Даны примеры использования.


Метод $wpdb->get_col( ‘строка_запроса’, смещение_колонки )

Метод выбирает колонку таблицы в виде одномерного массива. Если запрошено более одной колонки, то возвращается лишь одна, указанная в смещении, остальные находятся в переменной переменной last_result.
Синтаксис.

‹?php 
  $col=$wpdb->get_col(‘строка_запроса’,смещение_колонки); 
?›

где,
строка_запроса — текст SQL запроса, который будет выполнен с помощью данного метода.
смещение_колонки — смещение до нужной колонки от начальной, по умолчанию 0(первый столбец набора данных).

Пример1. Выбираем все ссылки, хранящиеся в таблице ссылок WordPress.

‹?php 
  $links = $wpdb->get_col("SELECT link_url FROM `wp_links`"); 
?›

Пример2. Выбираем наименования всех установок WordPress.

‹?php 
  $col = $wpdb->get_col("SELECT option_name FROM `wp_options`"); 
?›

Вернуться к списку методов


Метод $wpdb->prepare( ‘строка_запроса’ [, параметр1, параметр2 … ] )

Метод используется для проверки и защиты динамического запроса к базе данных. Поскольку динамический запрос предполагает внедрение в текст запроса сторонних параметров, то эти параметры невольно или злонамеренно могут навредить работе как минимум базы данных. Чтобы этого не произошло, динамические запросы надо защищать методом $wpdb->prepare.
Синтаксис.

‹?php 
  $query=$wpdb->prepare( ‘строка_запроса’ [, параметр1, параметр2 ... ] );
?›

где,
строка_запроса — текст SQL запроса, в который подставляются значения параметров. В запросе в качестве формальных параметров используются сочетания %s и(или) %d. Первый заменяется строковым значением, второй — числовым.
параметрrN(строка/чило/массив) — фактические значения заменяемых параметров.
возвращаемое значение — готовый к выполнению SQL запрос.

Пример1. Получаем из базы данных WordPress содержимое конккретного поста.

‹?php
$title='Заголовок1';
$id=11;
$query = $wpdb->prepare("SELECT post_content FROM " ."$wpdb->posts 
    WHERE " ."post_title = %s AND " ."ID = %d", $title, $id );
?›