wpdb::query()
Виконує будь-які запити до бази даних WordPress.
Цей метод передбачає виконання всіх запитів, крім SELECT. Для SELECT є спеціальні методи: $wpdb->get_results , $wpdb->get_row , $wpdb->get_col , $wpdb->get_var .
Майте на увазі, що як і для всіх функцій класу wpdb , параметри, що передаються, потрібно очистити від SQL ін’єкцій, зробити це можна двома способами:
// спосіб 1 esc_sql( $user_entered_data_string ) // спосіб 2 $wpdb->prepare( 'query' , value_parameter[, value_parameter ... ] )
Докладніше читайте у секції “Захист запитів від SQL ін’єкцій”
{} Це метод класу: wpdb{}
Хуки з методу
Повертає
int|true|false
.
true
— для запитів CREATE , ALTER , TRUNCATE , DROP .Число
– Задіяних рядків, для запитів:DELETE
/UPDATE
/SELECT
.false
– Коли запит викликав помилку.
Використання
Global $wpdb; $wpdb->query($query);
-
$query
(рядок) (обов’язковий) - Database query.
Приклади
#1 Видалити довільне поле ‘gargle’ та його значення біля посту 13
$wpdb->query( "DELETE FROM $wpdb->postmeta WHERE post_id = '13' AND meta_key = 'gargle'" );
#2 Встановити батьківську сторінку 7 для сторінки 15
$wpdb->query( "UPDATE $wpdb->posts SET post_parent = 7 WHERE ID = 15 AND post_status = 'static'" );
#3 Видалити осиротілі довільні поля
$wpdb->query("DELETE pm FROM $wpdb->postmeta pm LEFT JOIN wp_posts wp ON wp.ID = pm.post_id WHERE wp.ID IS NULL");
#4 Змінимо ключ у полів-повторювачів ACF
$wpdb->query( " UPDATE $wpdb->postmeta SET meta_key = REPLACE(meta_key, 'knowledge-base-type', 'knowledge-base-list') WHERE `meta_key` LIKE '%knowledge-base-type%' ");
список змін
З версії 0.71 | Введено. |