num_rows始终返回1
global $wpdb;
$wpdb->get_results("SELECT * FROM wp_ap_promo WHERE wp_ap_promo.promocode = '".$promocode."' AND wp_ap_promo.business_id = " . $id .";");
echo $wpdb->num_rows;
我的num_rows
总是给出1,即使没有结果。num_rows始终返回1
编辑:好像问题出现在我的SQL表中。但接受的答案似乎也行得通。
尝试以count()
的值代替。
像这样:
global $wpdb;
$test = $wpdb->get_results("SELECT * FROM wp_ap_promo WHERE wp_ap_promo.promocode = '".$promocode."' AND wp_ap_promo.business_id = " . $id .";");
echo count($test);
,如果它仍然无法正常工作,使用这样的:
if($test != null) {
echo count($test);
} else {
echo 0;
}
希望这有助于! :D
你的意思是'count()'在我的SQL查询中? – janlindso 2014-11-06 16:09:08
不,我的意思是计数()在您的PHP代码 – 2014-11-06 16:10:07
@janlindso检查我更新的答案 – 2014-11-06 16:11:01
**警告**:不要忘记[正确转义](http://codex.wordpress.org/Class_Reference/wpdb#Protect_Queries_Against_SQL_Injection_Attacks)您的查询。你在这里可能包含一个[SQL注入漏洞](http://bobby-tables.com/)。 – tadman 2014-11-06 16:18:01