2

任何人都可以帮助我理解为什么我会收到以下错误:

类 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 返回的数组必须以不同的方式处理?

提前致谢,

码头


感谢您的回答。我正在尝试显示我从网上下载并保存在 wordpress 数据库中的网页,而不是帖子。

$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”。吨

怎么来的?

码头

4

2 回答 2

2

Codex中所述,您可以将额外的第二个参数传递给 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 回答