2

なぜfollowintエラーが発生するのかを理解するのを手伝ってくれる人はいますか:

クラス stdClass のオブジェクトを文字列に変換できませんでした... (エラーはimplode()のある行を指しています。以下を参照してください)

次の関数を実行すると?

  function selectFullArticle () {

    global $wpdb;

  $id=get_the_ID();


      $webPageArticle = $wpdb->get_results( "SELECT post_content_long FROM $wpdb->posts WHERE ID=$id" );

 $webPageArticle= implode(" ",$webPageArticle);
 return $webPageArticle;

}

私の目的は、配列ではなく文字列を返すことです。

SELECT から返された配列を別の方法で処理する必要があるのではないでしょうか?

前もって感謝します、

マリーナ


回答ありがとうございます。投稿ではなく、Web からダウンロードして wordpress データベースに保存した Web ページを表示しようとしています。

両方 $webPageArticle = $wpdb->get_results( "SELECT post_content_long FROM $wpdb->posts WHERE ID=$id",ARRAY_N); $webPageArticle = $wpdb->get_results( "SELECT post_content_long FROM $wpdb->posts WHERE ID=$id",ARRAY_A);

正常に動作し、implode() はもう文句を言いません。ただし、「echo $webPageArticle;」というステートメントがあるため、実際の文字列は得られません。画面上に「Array」という単語を視覚化します。T

どうして?

マリーナ

4

2 に答える 2

2

Codexで読み取られるように、追加の 2 番目のパラメーターを get_result() に渡して、オブジェクトではなく配列を返すことができます。

 <?php $wpdb->get_results('query',OBJECT_K); ?> 

後で操作できる連想配列を返します。

参照:

OBJECT - result will be output as a numerically indexed array of row objects.
OBJECT_K - result will be output as an associative array of row objects, using first column's values as keys (duplicates will be discarded).
ARRAY_A - result will be output as an numerically indexed array of associative arrays, using column names as keys.
ARRAY_N - result will be output as a numerically indexed array of numerically indexed arrays
于 2011-10-11T10:08:15.017 に答える
0
function selectFullArticle () {
    $id=get_the_ID();
    $webPageArticle = get_post($id, ARRAY_A);
    $webPageArticle= implode(" ", $webPageArticle);
    return $webPageArticle;
}

私が正しく判断し、投稿コンテンツのみが必要な場合は、これを使用します。

function selectFullArticle () {
    $id=get_the_ID();
    $webPageArticle = get_post($id);
    return $webPageArticle->post_content;
}
于 2011-10-11T10:06:14.860 に答える