检查MYSQL以查看条目是否已存在而不使用else

时间:2013-09-12 10:31:24

标签: php mysql

您好我有一个长页面的代码,其中有多个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。

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

2 个答案:

答案 0 :(得分: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的数字。

答案 1 :(得分:0)

在MySQL上使用 SELECT IF EXISTS

SELECT IF( EXISTS(
             SELECT *
             FROM  masterip_details
             WHERE `ip_address`=? AND `client_id`=?), 1, 0)
相关问题