2016-04-23 165 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