未找到结果时,搜索关键字并引发“未找到”错误

时间:2019-04-18 07:27:54

标签: php

我想使用MySQL的LIKE子句搜索关键字(例如:LIKE %$keyword%),然后返回结果。如果没有结果,我想显示一些错误消息。

我有一个名为ads_post的表,并且我正在名为cat_namecity_name的字段中搜索关键字。

有人可以帮我吗?


search-result.php

<?php 
    if (isset($_GET['submit'])) {
        $keyword = $_GET['keywoed'];
        $query = "select * from ads_post where cat_name like '%$keywoed%' or city_name like '%$keywoed%'";
        $result = mysqli_query($conn, $sql);

        if (mysqli_num_rows($result) > 0) {
            while ($row = mysqli_fetch_assoc($result)) {
                echo "cat Name: " . $row["cat_name"] . "<br>";
            }
        } else {
            echo "0 results";
        }

        mysqli_close($conn);
    } 
?>

HTML表单代码

<form action="search-result.php" method="get" >
    <input class="form-control"  name="keyword" placeholder="Search any keyword..?">
    <input type="submit"   value="search">
</form>

2 个答案:

答案 0 :(得分:0)

您可以替换

$query = "select * from ads_post where cat_name like '%$keywoed%' or city_name like '%$keywoed%'";

使用

   $query = "select * from ads_post where cat_name like '%$keyword%' or city_name like '%$keyword%'";

和其他

$keyword = $_GET['keywoed'];

替换

$keyword = $_GET['keyword'];

答案 1 :(得分:0)

我抓到了东西

$query = "select * from ads_post where cat_name like '%$keywoed%' or city_name like '%$keywoed%'";
        $result = mysqli_query($conn, $sql);

首先定义$ query但mysqli_query是$ sql,请替换$ query而不是$ sql:)

$result = mysqli_query($conn, $query);