Intereting Posts
Необходимо перенести первое изображение из сообщений и установить его как изображение как запрашивать сообщения по категориям и тегам? Как удалить экземпляр виджета WordPress? Как обеспечить уникальное поле профиля eBooks скачать сайт, страницу или сообщение? Что необходимо для защиты плагина WP от попыток прямого доступа к файлу? Проблема разбиения на страницы с помощью WP_Query Использование расширенных пользовательских полей с помощью WordPress и Лайтбокс Проблема с получением ссылки по умолчанию типа post, как и пользовательские типы orther Преднамеренно превышать max_num_pages по основному запросу без получения 404? Добавить HTML в тег post <head> Как остановить WordPress от автоматического превращения писем в небольшие или капитальные Как исключить пользовательские поля из поисковых запросов? Уменьшить размер изображения, если по заданной ширине Сохранить черновик не сэкономить

Альтернативные функции для mysql_free_result и mysql_ping в функциях wordpress

что является альтернативной функцией для mysql_free_result и mysql_ping в функциях WordPress, поддерживает ли WordPress все функции, такие как php? Нужно ли освобождать память результата для больших запросов базы данных WordPress?

Solutions Collecting From Web of "Альтернативные функции для mysql_free_result и mysql_ping в функциях wordpress"

У вас есть следующие методы объекта $wpdb :

  • $wpdb->flush() который содержит вызов mysqli_free_result() или mysql_free_result() если не поддерживается.

  • $wpdb->check_connection() который содержит вызов mysqli_ping() или mysql_ping() если не поддерживается.

Конечно, вы можете использовать все свои функции PHP в WordPress.

Вот пример, основанный на самом \wpdb классе:

 // Use the global instance created by WordPress global $wpdb; // Fetch our data with some huge query: $results = $wpdb->get_results( "SELECT * FROM {$wpdb->posts}" ); // ... some data handling here // Let's flush for another huge query. // But that's not actually needed, // since this is already done in the $wpdb->query() call // that's used within the $wpdb->get_results() method. $wpdb->flush(); // Check the connection: if( ! $wpdb->check_connection( $allow_bail = false ) ) { // Let's try to connect again, but there has already been // reconnection retries within the check_connection() method above. // Here we handle the bail manually: // Check the connection: if( ! $wpdb->check_connection( $allow_bail = false ) ) { // Let's try to connect again, but there has already been // reconnect retries within the check_connection() method above. // Here we handle the bail manually: if( ! $wpdb->db_connect( $allow_bail = false ) ) { // Exit with a style: if ( did_action( 'template_redirect' ) ) { die( __( 'No DB connection' ) ); } else { wp_load_translations_early(); $wpdb->bail( sprintf( '<pre>%s<pre>', __( 'No DB connection' ) ) ); } // Just in case: dead_db(); } } } // Fetch another set of data: $results = $wpdb->get_results( "SELECT * FROM {$wpdb->users}" ); 

Обратите внимание, что в большинстве случаев нам не нужно создавать собственные SQL-запросы с помощью $wpdb .

Мы можем пройти очень далеко, просто используя WP_Query , WP_Comment_Query или WP_User_Query . Они могут помочь нам генерировать сложные SQL-запросы, которые выполняются с помощью $wpdb->get_results() или $wpdb->get_col() .

Для случая WP_Query это происходит в самом WP_Query::get_posts() .

Итак, у нас уже есть $wpdb->flush() .