簡體   English   中英

php查詢不返回任何東西,即使它為空也不從if語句回顯

[英]Php query is not returning anything not even echo from if statement when it is empty

我遇到了一個問題,我試圖只是查詢一個表並返回一些結果,如果沒有result(empty),那么它只是回顯它為空。

問題是,在while($row = mysqli_fetch_assoc($result))回顯正常工作之前。 但是,當它在while循環中時,它什么也不會回顯,即使if(mysqli_num_rows($result)==0)echo 'There is nothing'; 或者如果我願意

if(empty($result)){
echo "There is no";

這是我的以下代碼,感謝您的寶貴時間

<?php
ini_set('display_errors', 1); error_reporting(E_ALL);
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

session_start();
include 'connect.php';


echo "It is working";

$Listingid = "648";


echo "$Listingid";


$result = mysqli_query($con,"SELECT * FROM list WHERE Listingid = '$Listingid'")
    or die(mysqli_error($con));


while ($row = mysqli_fetch_assoc($result)) {
    if(empty($result)) {
        echo "There is no";
    } else {
        echo 'User ID:' . $row['userid'] . '<br>Username:' . $row['username'] . '<br>Useremail:' . $row['useremail'];
    }
}

試試這個邏輯

$sql = mysqli_query($con,"select count(*) as count from list WHERE Listingid = '$Listingid'");
while($row = mysqli_fetch_array($sql))
{
    $count = $row['count'];
}

if($count == 0)
{
   echo 'it is empty';
}
else
{
$result=mysqli_query($con,"SELECT * FROM list WHERE Listingid = '$Listingid'");
while($row = mysqli_fetch_array($result))
{
    echo 'User ID:'.$row['userid'].'<br>Username:'.$row['username'].'<br>Useremail:'.$row['useremail'];
}
}

試試這個代碼:

<?php

ini_set('display_errors', 1);
error_reporting(E_ALL);
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

session_start();
include 'connect.php';


echo "It is working";

$Listingid = "648";


echo "$Listingid";


$result = mysqli_query($con, "SELECT * FROM list WHERE Listingid = '$Listingid'");

if (mysqli_num_rows($result) == 0) {
    echo "There is no";
} else {
    while ($row = mysqli_fetch_assoc($result)) {
        echo 'User ID:' . $row['userid'] . '<br>Username:' . $row['username'] . '<br>Useremail:' . $row['useremail'];
    }
}
?>

它檢查while -loop 之前是否有數據,因為如果在此查詢中找不到任何結果,它將不會通過while -loop。

您是否嘗試過使用mysqli_fetch_array(); 代替mysqli_fetch_assoc(); mysqli_fetch_array(); mysqli_fetch_assoc();獲取所有字段mysqli_fetch_assoc(); 返回具有行值的字段名稱,而不是名稱,例如:

[0] => "Username", [1] =>"Email"

mysqli_fetch_array(); 收益:

[0] => "username", [Username] => "username, [1] => "Email", [Email] => "Email"

這部分:

if(empty($result)) {
    echo "There is no";
}

是沒有用的,因為如果沒有一行,那么在腳本的這一點就不會出現循環。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM