0

嗨,我有一长页代码,其中包含多个 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。

谢谢,任何建议将不胜感激。

4

2 回答 2

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 的数字。

于 2013-09-12T10:34:10.273 回答
0

SELECT IF EXISTS在 MySQL 上使用。

SELECT IF( EXISTS(
             SELECT *
             FROM  masterip_details
             WHERE `ip_address`=? AND `client_id`=?), 1, 0)
于 2013-09-12T10:39:03.767 回答