簡體   English   中英

我的 PHP else { // 語句 }; 在 SQL 中使用 LIKE 未找到任何結果時不顯示(提供圖片)

[英]My PHP else { // statement }; doesn't show up when no results are found using LIKE in SQL (pictures provided)

<?php
include 'conn.inc.php';

$keyPressed = mysqli_escape_string($conn, $_POST['keyPressed']);


if (!empty($keyPressed)) {
    $sql = "SELECT name, type FROM businesses WHERE name LIKE '$keyPressed%' ORDER BY name";
    $result = mysqli_query($conn, $sql);
    if (mysqli_num_rows($result) > 0) {
        while ($row=mysqli_fetch_assoc($result)) {
            echo "<div class='businesses-bar'>
                <p class='businessName'>",
                    $row['name'],
                " (",$row['type'],")","</p>
                <button type='button'>PIN</button>
        </div>";
        }
    } else {
        echo "0 results";
    }
} else {
    echo "Search a business and click \"Pin\" to add it to the map.";
}
?>

在此處輸入圖片說明

在此處輸入圖片說明

在此處輸入圖片說明

我想做的應該很簡單。 我覺得我只是缺少一個關鍵字或其他東西。

  • 從 javascript 文件中獲取擊鍵並通過 Ajax 將它們傳遞到此文件中,位於變量 $keyPressed 下
  • 在我的數據庫中按“名稱”查找企業
  • 如果擊鍵與數據庫中的任何名稱都不匹配,則回顯“0 結果”

問題:每次$keyPressed 與'name' 不匹配時,我的數據庫列'name' 中的一個字母一個字母,我得到一個空白的返回值(沒有任何內容打印到屏幕上)。 如果我的擊鍵不再與數據庫中的 LIKE 'name' 匹配,我希望它回顯“0 結果”。

我試過把 else 語句放在最后

  • 如果 ($result = mysqli_query($conn, $sql)

希望如果沒有結果它會回聲

  • 否則 {echo "0 結果"};

但它只是在回顯一個空白區域,就好像它在尋找某種空白結果一樣。

提供了我的問題的所有圖片,不包括 javascript 文件(我知道這不是問題)。

根據 PHP 文檔mysqli_query()對於 SELECT、SHOW、DESCRIBE、EXPLAIN 和其他返回結果集的語句,mysql_query() 在成功時返回資源,在錯誤時返回 FALSE。

嘗試這個

if ($result = mysqli_query($conn, $sql) && mysqli_num_rows($result)){
 ...
}else{
 ...
}

暫無
暫無

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

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