在以编程方式创建新帖子之前,我想检查数据库中是否有相同标题的帖子。
我正在检查这样:
$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(*)
但这不对。我也尝试了其他一些组合,但无法弄清楚
答案 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;
从结果集中获取别名列。