用于空搜索的php else语句

标签 php mysql if-statement search keyword

我有一个搜索功能,可以匹配数据库中的关键字并回显一些 html,但我不知道如何启用空搜索处理。我可以使用 else 语句还是必须重新定义相同的参数并使用 !isset for if not set?

<?php
$con = mysqli_connect("localhost", "database", "password", "table");
if (isset($_GET['search'])) {
    $search_query = $_GET['search_query'];

    global $con;
    $get_item = "select * from database where keywords like '%$search_query%'";
    $run_item = mysqli_query($con, $get_item);
    while ($row_item = mysqli_fetch_array($run_item)) {

        $item_keywords = $row_item['item_keywords'];

        echo "Search found for $search_query";
    } // working fine up to here
} else {
    echo "Search not found for $search_query";
}
?>

最佳答案

您可以使用 isset()mysqli_num_rows() 来检查空结果。并使用 mysqli_real_escape_string 来触发您的查询

 if (isset($_GET['search'])) {
    if (isset($_GET['search_query']) && $_GET['search_query'] != "") {/// check variable is set or not
        $search_query = $_GET['search_query'];
        $$search_query = mysqli_real_escape_string($con, $search_query);//
        $get_item = "select * from `database` where `keywords` like '%$search_query%'";
        $run_item = mysqli_query($con, $get_item);
        $row_cnt = mysqli_num_rows($run_item); // count number of rows
        if ($row_cnt > 0) {
            while ($row_item = mysqli_fetch_array($run_item)) {
                $item_keywords = $row_item['item_keywords'];
                echo "Search found for $item_keywords";
            }
        } else {
            echo "Search not found for $item_keywords";
        }
    } else {
        echo "Search not found for $item_keywords";
    }
}

关于用于空搜索的php else语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32667141/

相关文章:

php - 搜索后显示整行

php - 在已编译的 Inno Setup 安装程序中修改配置文件(每个下载的可执行文件的自定义配置文件)

javascript - 不能将 if 语句缩短为三元

javascript - 在这种情况下,您可以在循环中返回 boolean 值吗

python - 如何在 if 语句中使用两个条件

php -v 总是返回 php@5.6

php - Symfony3.4 - POST_SUBMIT 事件的预填充字段

mysql - SQL - 从那里选择即将到来的事件和一周后的所有事件

php - MySQL全文索引查询不使用任何索引?

python - 无法在准备好的 INSERT 语句中的 python mysql.connector 中使用 None (NULL) 值