嗨,我有一长页代码,其中包含多个 if else 状态,我想做的是检查数据库以查看该 IP 地址是否已在表中
目前我这样做
$result = mysql_query("SELECT * FROM masterip_details WHERE ip_address='$ip_address' AND client_id='$client_id'") or die(mysql_error());
$num_rows = mysql_num_rows($result);
//IF THE RESULT IS MORE THAN 0, THIS MEANS THAT THEY ARE A RETURNING VISITOR
if( $num_rows > 0 ) {
/// Add returning Script here
} else {
//Add code
}
有没有办法不用 if else 语句来做到这一点?,例如,如果记录在数据库中,只需返回值 1。
谢谢,任何建议将不胜感激。
您可以使用
count
来获取具有该值的行数。
$result = mysql_query("SELECT count(*) FROM masterip_details WHERE ip_address='$ip_address' AND client_id='$client_id'") or die(mysql_error());
return $result > 0; //returns a boolean
这样,如果数据库中不存在该值,您将获得一个0
,如果存在,您将获得一个大于 0 的数字。
在 MySQL 上使用SELECT IF EXISTS
。
SELECT IF( EXISTS(
SELECT *
FROM masterip_details
WHERE `ip_address`=? AND `client_id`=?), 1, 0)