2016-04-23 163 views
-2

我想要選擇從不同的表值,但我面對的結果有些錯誤,我想檢查是否有任何價值,我會迴應「是」,否則回聲「否」從多個MySQL表選擇

<?php 

if($_SERVER['REQUEST_METHOD']=='POST'){ 
    $username=$_POST['username']; 


    require_once('dbConnect.php'); 

    $sql="SELECT donator.national_id, needy_people.national_id". 
     "FROM donator, needy_people". 
      " WHERE donator.national_id='$username' OR needy_people.national_id='$username' limit 50"; 


    $result=mysqli_query($con,$sql); 
    if($check>0){ 
     while($row=mysql_fetch_array($sql)){ 

      $check=mysqli_fetch_array(mysqli_query($con,$sql)); 
     } 
    } 

    if(isset($check)){ 
     echo'YES'; 
    }else{ 
     echo'Noooo'; 
    } 
    mysqli_close($con); 

}else{ 
    echo'error'; 
} 

任何人都可以解決這個問題的幫助!

+2

任何一個行存在你使用'mysql'和'mysqli'的特殊原因? – Amous

+0

不,我只是嘗試任何解決它 – Maher

+0

另外,請發佈你得到的錯誤。 – Amous

回答

0

當你把條件if($check>0)$check還沒有定義,所以它不會被處理,因此$check保持未設置。 你也應該使用empty()功能測試值存在於它

+0

檢查是:// $ check = mysqli_fetch_array(mysqli_query($ con,$ sql)); 但它給了我另一個erroe – Maher

+0

除非你在其他地方定義它,在這裏// $ check = mysqli_fetch_array(mysqli_query($ con,$ sql));是在if($ check> 0)語句中定義的,所以它不會工作 – kyoun

0

如果你想檢查,如果當你運行你的查詢考慮使用功能mysqli_num_rows

if (mysqli_num_rows($result) > 0) { 
    echo "Has row"; 
} 
+1

還是更好還是做一個COUNT'查詢 – RiggsFolly

+0

有行!你們破解我 – Drew

+0

@RiggsFolly好點!他仍然需要運行該查詢,然後進行比較。 – Amous

0
$count=mysqli_num_rows($check); 
if($count>0) 
echo "yes"; 
else 
echo "no"; 
+0

爲什麼OP要「試試這個」?一個**好的答案**總是會解釋做了什麼以及爲什麼這樣做, 不僅適用於OP,而且適用於SO的未來訪問者,可能會發現此問題並正在閱讀您的答案。 – RiggsFolly

+0

你能寫出完整的代碼 – Maher

+0

是的,現在我們正在探討問題的癥結所在 – RiggsFolly