源判斷查詢如下:
$sql="SELECT domain FROM `dminfo` where domain='".$domain."'";
$query=mysql_query($sql);
if(mysql_num_rows($query)) resetd($domain);//當然有記錄時更新無時新增
else {addd($domain);}請大家幫我改改!
一。if(mysql_num_rows($query))成立判斷另一條件IP是否為當前IP,若不是執行 resetd($domain);//更新
二。條件不成立執行 {addd($domain);}//新增記錄
幾年前自學過點ASP。PHP不熟。請大家幫幫忙。先謝謝了

解决方案 »

  1.   

    根据标题我给出的答案是短路运算符,如
    if($a && $b){}你应该知道&&是两个都成立才会为真,那么如果$a为假,那么就不再继续判断,这就是所谓短路运算符的用法,当然了也有其他的短路运算符
      

  2.   

    謝謝!但如果&A成立 &B不成立
    if($a && $b){
    不是這里代碼也不會執行,我想說&A成立后執行內容中再斷&B,&B成立才執更新數據
    }就是不熟悉PHP的運算規則,請大大能幫我寫具體的&B嗎?B是判斷前那條記錄中字段IP的值是否等於&getip;相同不執行。不相同就更新記錄!麻煩了!
      

  3.   

    //假如判断ip是否相等方法是checkIp(),那么:if(mysql_num_rows($query) && checkIp()){
    resetd($domain);
    }else{
    addd($domain);
    }
      

  4.   

    謝謝大大測試結果顯示 
    當然 mysql_num_rows($query) 成立,但IP相同時會執行addd($domain);
    而我要的是不執行動作。而 mysql_num_rows($query) 成立 ,但IP不相同時就更新數據 resetd($domain);只有在mysql_num_rows($query)不成立之時才新增記錄 addd($domain);
      

  5.   

    最後還是不太能理解 PHP的精要用delphi 的簡單邏輯 
    $sql="SELECT domain FROM `dminfo` where domain='".$domain."'";
            $query=mysql_query($sql);
                    $row = mysql_fetch_assoc($query); 
                    if(mysql_num_rows($query)){
                       if ($row["ip"]!=$getip)resetd;
    }else        {addd($domain);}這樣子才算完事。可能PHP用四句就能搞定。但不知道如何寫!