05.02.2011


Интерфейс с базой данных


Категории: Системное — Метки: , — Administrator

За основу этой статьи взята статья из документации по WordPress, это ссылка на статью.
Для работы с базой используется класс wpdb. Методы этого класса не должны вызываться напрямую, для работы с этим классом WordPress использует глобальный объект (переменную) $wpdb. Этот объект может работать с объектами только в базе данных, где установлен WordPress.

Выполнение любого запроса, метод query

<?php $wpdb–>query('query'); ?> 

query — строка запроса, если это NULL, то метод вернет из кэша результаты прошлого запроса.
результат — функция вернет целое число, которое соответствует количеству возвращенных или обработанных записей. Если возникнет ошибка SQL, то функция вернет false. Надо иметь в виду, что может возвращено и 0 и false, используйте нужные операторы сравнения: equality == против identicality ===.
Надо иметь в виду, что как и все функции этого класса, которые выполняют SQL-запросы, необходимо сделать escape для параметра SQL:

<?php $wpdb–>escape($user_entered_data_string); ?> 

Пример вызова функции:

  $qu = 'DELETE FROM '.DB_NAME.'.wp_term_relationships WHERE object_id = '.$term_id.' AND term_taxonomy_id = '.$taxonomy_id;
  $rez = $wpdb–>query($qu);
  return rez;

Это пример удаления некоторой taxonomy у объекта.

Получение одной переменной из запроса SELECT

<?php $wpdb–>get_var('query', column_offset, row_offset); ?> 

query — строка запроса, если это NULL, то метод вернет из кэша результаты прошлого запроса.
column_offset — целое (integer) число — номер колонки в recordest, по умолчанию 0.
row_offset — целое (integer) число — номер записи в recordset, по умолчанию 0.

$qu = "
  SELECT COUNT(*) AS comments_amount
    FROM soft.wp_comments w
   WHERE comment_approved = 0
";
$comments_amount = $wpdb–>get_var($qu);  

Это пример получения общего количества неподтвержденных комментариев.

Получение набора записей SELECT

get_results(‘query’, output_type); ?>

query — строка запроса, если это NULL, то метод вернет из кэша результаты прошлого запроса.
output_type — одна из четырех констант, определяющая тип возвращаемого массива (array) результатов, по умолчанию используется OBJECT. Значения могут быть такими:
OBJECT — результат будет возвращен как нумерованный массив из объектов row.
OBJECT_K — результат будет возвращен как hash-массив из объектов row, в качестве hash-ключа будет использована первая колонка в запросе, дублирующие записи будут удалены, на наш взгляд наиболее удобный для использования параметр.
ARRAY_A — результат будет возвращен как нумерованный массив из hash-массивов в качестве hash-ключей будут использоваться названия колонок запроса.
ARRAY_N — результат будет возвращен как нумерованный массив с элементами из нумерованных массивов.





Календарь


Архив