如果你只是想数一数,$wpdb->get_var();
以及使用COUNT()
在您的sql中会更好:
### Search for IP in database
function postviews_get_ip($id, $ip) {
global $post, $wpdb;
$rowcount = $wpdb->get_var("SELECT COUNT(*) FROM $wpdb->wp_postviews_ips WHERE postid = $id AND ip = \'$ip\'");
return $rowcount;
}
postviews_get_ip($id, $_SERVER[\'REMOTE_ADDR\']);
//both $id and $_SERVER[\'REMOTE_ADDR\']) return the values I\'m searching for in the database
关于上一个示例中出现的错误,您没有指定
$wpdb->get_results()
实例,而不使用它
$wpdb->num_rows;
将返回零,因为它实际上不是从查询实例中提取,而是从全局$wbdb对象中提取。
如果您确实想使用get_results()
:
### Search for IP in database
function postviews_get_ip($id, $ip) {
global $post, $wpdb;
$ipquery= $wpdb->get_results("SELECT * FROM $wpdb->wp_postviews_ips WHERE postid = $id AND ip = \'$ip\'");
$rowcount = $ipquery->num_rows;
return $rowcount;
}
postviews_get_ip($id, $_SERVER[\'REMOTE_ADDR\']);
//both $id and $_SERVER[\'REMOTE_ADDR\']) return the values I\'m searching for in the database
但我认为没有必要这样做,除非你需要结果,在这种情况下,我只会返回
$ipquery
对象和使用
num_rows
在我需要的时候:
### Search for IP in database
function postviews_get_ip($id, $ip) {
global $post, $wpdb;
$ipquery = $wpdb->get_results("SELECT * FROM $wpdb->wp_postviews_ips WHERE postid = $id AND ip = \'$ip\'");
return $ipquery;
}
$someVariable = postviews_get_ip($id, $_SERVER[\'REMOTE_ADDR\']);
//both $id and $_SERVER[\'REMOTE_ADDR\']) return the values I\'m searching for in the database
echo $someVariable->num_rows;