[英]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.