Функции класса WordPress Database


Класс WordPress database весьма обширен и предоставляет набор методов для эффективной работы с базой данных и таким образом позволяет использовать стандарты WordPress.

Данный класс можно найти в /wp-includes/wp-db.php, где отдельные методы документированы.
Рассмотрим наиболее важные из них. Очень важно работая с этими методами гарантировать безопасность плагинов.

Оновные методы модуля:

  • insert($table, $data, $format)— вставляет строку в таблицу через массивы.
  • update($table, $data, $where, $format, $where_format) — обновляет строку в таблицу через массивы.
  • get_var($query, $x, $y)— получение одной переменной из базы.
  • query($query)— выполняет запрос MySQL с текущим подключением
  • get_results($query, $output)— получение результата выполнения SQL из базы… одна или несколько строк.
  • escape($data)— форматирование контента перед вставкой в базу используя addslashes(), для безопасности

Также интересны следующие методы:

  • set_prefix($prefix)— используется для установки префикса таблицы для таблиц WordPress, может быть использован для перекрытия префикса в любое время
  • prepare($query)— безопасно подготавливает запрос SQL для выполнения подобно синтакису sprintf().
  • get_row($query, $output, $y)— получение одной строки из базы.
  • get_col($query, $x)— получение одной колонки из базы в виде массива.

/**
* вставка
*/
$wpdb->insert( $wpdb->posts, array( 'post_title' => $mytitle ) );

$wpdb->insert( $wpdb->options, array(
'option_name',
'new_option_key',
'option_value' => 'New Option Value',
'autoload' => 'yes' )
);

/**
* обновление
*/
$wpdb->update( $wpdb->posts, array( 'post_title' => $mytitle ),
array( 'ID' => $myid )
);

$wpdb->update( $wpdb->options,
array( 'option_value' => 'New Option Value' ),
array( 'option_name' => 'new_option_value' )
);

/**
* get_var
*/
$post_id = $wpdb->get_var(
$wpdb->prepare( "SELECT post_id FROM
$wpdb->postmeta WHERE
post_id = %d AND
meta_key = 'enclosure' AND
meta_value LIKE (%s)", $post_ID, $url . '&' )
);

$content = $wpdb->get_var(
$wpdb->prepare("SELECT post_content FROM " .
"$wpdb->posts WHERE " .
"post_title = %s AND " .
"ID = %d", $title, $id )
);

/**
* запрос
*/
$wpdb->query( "DELETE FROM $wpdb->options WHERE option_name = '$name'" );

$wpdb->query( "UPDATE $wpdb->posts SET post_title = '$mytitle' WHERE ID = $myid" );

/**
* запрос и escape
*/
$mytitle = $wpdb->escape( $mytitle );
$myid = absint( $myid );
$wpdb->query( "UPDATE $wpdb->posts SET post_title = '$mytitle' WHERE ID = $myid" );

/**
* get_results
*/
$type = $wpdb->get_results( "SELECT post_type FROM " .
"$wpdb->posts WHERE ID=$id" );

http://wpengineer.com/wordpress-database-functions/
Реклама
Поделиться
Качественные премиум темы и шаблоны для Вашего сайта:

Смотреть полный каталог качественных тем и шаблонов

Здесь Вы можете выбрать из более чем 46 000 готовых дизайнов. Шаблоны сайтов + установка + хостинг + персонализация + поисковая оптимизация + копирайтинг — все эти услуги вы всегда можете получить от профессионалов мирового уровня!

Добавить коментарий

шестнадцать + шестнадцать =