wpdbを使用したget_results


12

データベースの情報を取得しようとしています。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/>';

    }

$wpdb->wp_posts中括弧で包んでみてください。{$wpdb->wp_posts}..
t31os 2013

回答:


18
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/>';
}

こんにちは@balamurugan、私はあなたの答えを試しましたが、それでも結果が得られません。上の編集部分をご覧ください。
user1933824 2013

実際に何を取得し、uを削除しますか...コードから。私はそれをテストしてすべてのページIDを取得しました
Balas 2013

元の投稿の上に表示されている編集部分を使用しています。私がecho $result取得したqueryものからデータを取得しているのが印刷であることを確認するためだけに試しましたArray。私が使用するとき、私はecho $page->ID何も得ません。
私は

そのコードを完全にコピーして貼り付けるだけです。結果を得るにはこれですべてです。
Balas 2013

はい、うまくいきました!私のコードとあなたのコードをレビューしようとしたとき、私が見た唯一の違いは、この部分$tablename = $wpdb->prefix.'posts';がコーデックスのドキュメントになかったということです。なぜ機能するのか説明してくれませんか?
user1933824 2013

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'" );

1
+1、ありがとうございます。しかし、私は最初に私に応答した人に信用を与える必要がありました、彼はすでに正しい答えを提供しました、私は彼の指示に従うことができませんでした。
user1933824 2013

承知しました。補足:先に述べたように、$wpdb->prefix組み込みテーブルにはを使用しないでください。直接電話するだけです。これも彼の答えです。
カイザー2013

1

次のコードを試してください。私は同様の問題に直面し、 'FROM'フィールドから$ wpdbを削除することで解決しました。

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

echo $result; // display data

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.