Php Wordpress MySQL查询失败

Php Wordpress MySQL查询失败,php,mysql,wordpress,Php,Mysql,Wordpress,。。在这上面花了一个小时,它应该能工作,但它不能,不知道我哪里出了问题 谢谢您应该像这样使用查询 $query2 = "SELECT * FROM wp_posts WHERE post_status = 'publish'"; $result2 = mysql_query($query2); if (!$result2) {  die('Invalid query: ' . mysql_error()); } if (mysql_numrows($result2) == 0) {

。。在这上面花了一个小时,它应该能工作,但它不能,不知道我哪里出了问题


谢谢

您应该像这样使用查询

$query2 = "SELECT * FROM wp_posts WHERE post_status = 'publish'";
$result2 = mysql_query($query2);
if (!$result2) {
  die('Invalid query: ' . mysql_error());
}

if (mysql_numrows($result2) == 0) {
    echo("zero");
} else {
    echo(mysql_numrows($result2));
}

应该使用wpdb类与数据库通信…

re。您的注释:调用未定义的函数die()

看起来在die()语句之前的空格中可能有一些非ASCII字符。尝试删除空白并重新插入,也许您会发现数据库错误是什么

尝试以下操作:

 $querystr = "SELECT $wpdb->posts.* FROM $wpdb->posts WHERE $wpdb->posts.post_status = 'publish'";
 $pageposts = $wpdb->get_results($querystr, OBJECT);
在查询中使用双引号

如果查询中没有双引号,查询将如下所示:

$query2 = "SELECT * FROM wp_posts WHERE post_status = 'publish'";
$result2 = mysql_query("$query2");
而不是:

$result2 = mysql_query(SELECT * FROM wp_posts WHERE post_status = 'publish');

应该使用wpdb类与数据库通信,另外,您的查询应该使用标准的wp_查询-不,这不是wordpress内部的查询,而是外部用于其他目的。“它不工作”是非常模糊的。它怎么不起作用?查询
选择COUNT(*)作为计数器将比这更有效。您是否收到任何错误消息?可能应该在问题中说明,以避免混淆。
$result2 = mysql_query("SELECT * FROM wp_posts WHERE post_status = 'publish'");