2015-11-06 127 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"; 
}