Методы get_row(), get_var() класса $wpdb

Приводится описание методов $wpdb->get_row(), $wpdb->get_var() класса $wpdb WordPress. Привевдены примеры использования.


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

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

<?php $wpdb->get_row(‘строка_запроса’, тип выхода, смещение_строки) ?>

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

Пример1. Выберем все свойства поста с идентификатором, равным значению переменной $idvar. Тип возвращаемого значения устанавливается по умолчанию.

<?php 
  $row = $wpdb->get_row( "SELECT * FROM $wpdb->posts WHERE ID=$idvar" );
  echo $row->post_type;
?>

По умолчанию получаем данные в виде объекта.

А теперь тот же запрос, но с другими типами возвращаемого значения.

Пример2. Выборка свойств определенного поста. Тип возвращаемого значения — нумерованный массив.

<?php 
  $row = $wpdb->get_row( "SELECT * FROM $wpdb->posts WHERE ID=$idvar", ARRAY_N);
  echo $row[5]; // выведет значение колонки post_title
?>

Пример3. Выборка свойств определенного поста. Тип возвращаемого значения — ассоциативный массив. Выбираем 4-й пост от начала возвращенного массива.

<?php 
  $row = $wpdb->get_row( "SELECT * FROM $wpdb->posts WHERE ID > 10", ARRAY_A, 4);
  echo $row[5]; // выведет значение колонки post_title
?>

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



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

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

<?php 
  $var=$wpdb->get_var(‘строка_запроса’,смещение_колонки,смещение_строки)
?>

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

Пример1. Определяем количество опубликованных страниц в таблице базы данных WordPress.

<?php 
  $pages = intval($wpdb->get_var("SELECT COUNT(ID) FROM $wpdb->posts
    WHERE post_type = 'page' AND post_status = 'publish'"));
?>

Пример2. Определяем общее количество записей в таблице страниц базы данных WordPress.

<?php 
  $pages_all = intval($wpdb->var("SELECT COUNT(ID) FROM $wpdb->posts"));
?>

Пример3. Определяем количество опубликованных записей в таблице постов базы данных WordPress.

<?php
  $posts = intval($wpdb->get_var("SELECT COUNT(ID) FROM $wpdb->posts
    WHERE post_type='post' AND post_status='publish'"));
?>