2015-11-06 153 views
0

如何检查mysql结果是否为空。如果mysql查询结果为空,则不应排除其他情况。 如果mysql结果数据有&其他条件我的错误我的消息在那里,但它没有显示任何错误消息。 我试过下面的代码,但没有在屏幕上显示任何警报或回声消息。如何检查MySQL结果是否在PHP中返回空?

<?php 
 
$sql = "select * from hall_search_data_1 where rent BETWEEN '".$_SESSION['amount1']."' AND '".$_SESSION['amount2']."'"; 
 
$res = mysql_query($sql); 
 
if(!empty($res)){ 
 
while($row=mysql_fetch_row($res)) 
 
{ 
 
// here my data 
 
} 
 
}else{ 
 
echo "no results found"; 
 
echo "<br>"; 
 
echo "<script>alert('No any result found..!!');</script>"; 
 
echo "no results found"; 
 
} 
 
?>

回答

0

您可以使用mysql_num_rows检查结果集的数量:

$sql = "select * from hall_search_data_1 where rent BETWEEN '".$_SESSION['amount1']."' AND '".$_SESSION['amount2']."'"; 
    $res = mysql_query($sql); 
if(isset($res)) 
{ 
$noRows = mysql_num_rows($res); 
    if($noRows > 0){ 
    while($row=mysql_fetch_row($res)) 
    { 
    here my data 
    } 
    }else{ 
    echo "no results found"; 
    echo "<br>"; 
    echo "<script>alert('No any result found..!!');</script>"; 
    echo "no results found"; 
    } 
} 

在这里找到mysql_num_rows的文档:

mysql_num_rows

0

您可以使用mysql_num_rows();检查您的查询返回的行或不

$sql = "select * from hall_search_data_1 where rent BETWEEN '".$_SESSION['amount1']."' AND '".$_SESSION['amount2']."'"; 
$res = mysql_query($sql); 
$rows=mysql_num_rows($res); 
if($rows>0) 
{ 
    echo "data return from query"; 
}else{ 

echo "data not return"; 
} 

注: - MySQL是不推荐使用,而不是使用库MySQLi或PDO

0

您可以使用mysql_num_rows得到返回的行数的计数来自查询。

if(mysql_num_rows($res) > 0) 
{ 
    // rest of your stuff 
} 
else 
{ 
    echo "No records found."; 
} 

注: MySQL是替代过时使用mysqliPDO

5

<?php 
 
    $servername = "localhost"; 
 
    $username = "username"; 
 
    $password = "password"; 
 
    $dbname = "myDB"; 
 
    $conn = new mysqli($servername, $username, $password, $dbname); 
 
    if ($conn->connect_error) { 
 
     die("Connection failed: " . $conn->connect_error); 
 
    } 
 
    $sql = "SELECT id, firstname, lastname FROM MyGuests"; 
 
    $result = $conn->query($sql); 
 
    if ($result->num_rows > 0) { 
 
     while ($row = $result->fetch_assoc()) { 
 
      echo "id: " . $row["id"] . " - Name: " . $row["firstname"] . " " . $row["lastname"] . "<br>"; 
 
     } 
 
    } else { 
 
     echo "0 results"; 
 
    } 
 
    $conn->close(); 
 
    ?>

0

你可以像这样mysql_num_rows更换if(!empty($res)) -

$sql = "select * from hall_search_data_1 where rent BETWEEN '".$_SESSION['amount1']."' AND '".$_SESSION['amount2']."'"; 
$res = mysql_query($sql); 
if($countrows = mysql_num_rows($res) >= 1){ 
    while($row=mysql_fetch_row($res)) 
    { 
     here my data 
    } 
}else{ 
    echo "no results found"; 
    echo "<br>"; 
    echo "<script>alert('No any result found..!!');</script>"; 
    echo "no results found"; 
}