为什么此查询在Wordpresss主页上没有显示任何结果?

时间:2014-05-23 作者:facebook-100001191095620

我正在学习wordpress数据库,我编写了这个查询,用于显示id为2的post表中的数据,但不显示任何内容。以下查询有什么问题?请帮忙。

global $wpdb;
$wpdb->show_errors();

$mypost=$wpdb->query($wpdb->prepare("SELECT post_content FROM $wpdb->wp_posts WHERE     ID=%d",2));

echo $mypost;

1 个回复
SO网友:ksr89

首先,您的查询是错误的。正确的查询是

$mypost = $wpdb->query($wpdb->prepare("SELECT post_content FROM $wpdb->posts WHERE ID = %d", 2));
第二个$wpdb->query 将返回一个整数值,指示受影响/选定的行数。你可以在这里查看

http://codex.wordpress.org/Class_Reference/wpdb#General_Syntax

如果想要一般结果,可以使用$wpdb->get_results

http://codex.wordpress.org/Class_Reference/wpdb#SELECT_Generic_Results

$mypost = $wpdb->get_results($wpdb->prepare("SELECT post_content FROM $wpdb->posts WHERE ID = %d", 2));
为了获得单值结果,您还可以使用$wpdb->get_var

http://codex.wordpress.org/Class_Reference/wpdb#SELECT_a_Variable

$mypost = $wpdb->get_var($wpdb->prepare("SELECT post_content FROM $wpdb->posts WHERE ID = %d", 2));

结束