从$ wpdb获得正确的价值

时间:2016-01-27 16:20:39

标签: php mysql database wordpress wpdb

在以编程方式创建新帖子之前,我想检查数据库中是否有相同标题的帖子。

我正在检查这样:

$results = $wpdb->get_results("SELECT COUNT(*) FROM $wpdb->posts WHERE post_type = 'candidates' AND post_title = '$name'");

我在var_dump($ results)时获得的值的示例:

  

array(1){[0] => object(stdClass)#85(1){[" COUNT(*)"] =>字符串(1)" 8" }}

现在我想得到string(1) "8",将其添加到变量并将其转换为数字,但我不知道如何获得它。

我试过像

这样的东西
$number = (int)$results[0]->COUNT(*) 

但这不对。我也尝试了其他一些组合,但无法弄清楚

1 个答案:

答案 0 :(得分:0)

您的问题是(*)中的$number = (int)$results[0]->COUNT(*)。您不能将这些特殊字符简单地用作“变量”。您最好使用AS your_column_alias使用列别名。

所以你要使用

SELECT COUNT(*) as post_count FROM $wpdb->posts  WHERE post_type = 'candidates' AND post_title = '$name'

作为查询和

$number = (int) $results[0]->post_count;

从结果集中获取别名列。