get_results с использованием wpdb

Я пытаюсь получить информацию о своей базе данных. Я хотел отобразить все pages, используя этот оператор, но я получаю пустой ARRAY

global $wpdb;
$result = $wpdb->get_results (
        "
        SELECT * 
        FROM  $wpdb->wp_posts 
        WHERE post_type =  'page'
        "
        );

echo $result; // display data

Вывод:

  ARRAY

РЕДАКТИРОВАТЬ : изменив ниже предложения, я теперь использую это. но я до сих пор не получаю никаких результатов:

global $wpdb;

    $posts = $wpdb->wp_posts;
    $result = $wpdb->get_results( " SELECT * FROM  $posts WHERE 'post_type' =  'page' "  );

    foreach ($result as $page) {
            echo $page->ID.'<br/>';

    }
6 голосов | спросил user1933824 19 PM00000050000005631 2013, 17:10:56

4 ответа


9
global $wpdb;

$result = $wpdb->get_results ( "
    SELECT * 
    FROM  $wpdb->posts
        WHERE post_type = 'page'
" );

foreach ( $result as $page )
{
   echo $page->ID.'<br/>';
   echo $page->post_title.'<br/>';
}
ответил Balas 19 PM00000050000004231 2013, 17:24:42
3

У вас есть небольшое недоразумение:

При вызове $wpdb вы получаете список свойств, содержащих основные имена таблиц:

// The custom prefix from wp-config.php
// only needed for custom tables
$wpdb->prefix

// Tables where you don't need a prefix: built in ones:
$wpdb->posts
$wpdb->postmeta
$wpdb->users

Итак, ваш окончательный запрос выглядел бы как как :

$wpdb->get_results( "SELECT * FROM {$wpdb->posts} WHERE post_type = 'page'" );
ответил kaiser 19 PM00000050000005731 2013, 17:45:57
1

Попробуйте использовать следующий код. Я столкнулся с подобной проблемой и решил ее, удалив $ wpdb из поля FROM.

global $wpdb;
$result = $wpdb->get_results (
            "
            SELECT * 
            FROM  wp_posts 
            WHERE post_type =  'page'
            "
            );

echo $result; // display data
ответил Wahid Kadwaikar 16 J000000Wednesday14 2014, 04:46:41
0

Под «пустым массивом» вы имеете в виду «пустой массив» или выход «ARRAY». Если это последний, это ожидаемый результат. Вам нужно пройти через этот массив и отобразить результаты соответственно.

Ссылка: http://codex.wordpress.org/Class_Reference/wpdb#SELECT_Generic_Results

ответил Srikanth AD 19 PM00000050000005031 2013, 17:16:50

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132