Приводится описание методов $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'"));
?>