PHP搜索表单只测试数据库的最后一行

PHP搜索表单只测试数据库的最后一行,php,mysql,search,Php,Mysql,Search,我正在尝试创建一个网站搜索设施。该网站包含文本帖子,因此数据库中有一个表post_记录,其中包含字段post_id、post_title、post_href和post_内容 现在的工作是,当用户在搜索字段中输入任何搜索关键字时,该关键字将根据所有帖子标题和帖子内容进行测试,在匹配的位置,它将返回所有这些行。下面是它的代码。问题是它只返回数据库的最后一行 <table class="s_table"> <?php require_once'config.php'; if(iss

我正在尝试创建一个网站搜索设施。该网站包含文本帖子,因此数据库中有一个表post_记录,其中包含字段post_id、post_title、post_href和post_内容

现在的工作是,当用户在搜索字段中输入任何搜索关键字时,该关键字将根据所有帖子标题和帖子内容进行测试,在匹配的位置,它将返回所有这些行。下面是它的代码。问题是它只返回数据库的最后一行

<table class="s_table">
<?php
require_once'config.php';

if(isset($_POST['search_btn']))
{
    $mes = " ";
    $search_key =" ";
    $search_key = ($_POST['search_field']);
    try
    {
        if(empty($search_key) && $search_key != " ")
        {
            echo $mes = "Enter the keyword you want to search.";
        }
        else
        {               
            $result = $conn->prepare("SELECT * FROM post_record WHERE post_title LIKE '%".$search_key."%' OR post_content LIKE '%".$search_key."%'");
            $result->execute();
            $count=$result->rowCount();
            $datas = $result->fetchAll();
            if(!$count)
            {
                echo $mes = "No Result found. Try another keyword for search.";
            }
            else
            {
                foreach ($datas as $data)                                           
                {
                echo "
                    <tr><td><b><u><a href='".$data['post_href']."'>".$data['post_title']."</a></b></u></td></tr><br>
                    <tr><td class='s_cont'>".$data['post_content']."</tr></td><br><br>";

                }
            }
        }
    }
    catch(PDOException $e)
    {
        $mes = "Something Went Wrong! try again";
        header("location:index.php");
    }
}

$conn = null;

if(空($search\u key)&&$search\u key!=“”)
此条件错误 两者都是不同的东西,永远不会实现。 您正在测试它是否为空,然后测试它是否为空
在相同的if条件下,我通常使用过程函数,但我在
mysqi\u fetch\u array()
中遇到类似的问题,因此您的问题可能是
fetchAll()
正在将光标移动到最后一条记录。尝试删除该函数或在
foreach()
之前使用
mysql\u data\u seek($datas,0)

我建议使用
类似的
将搜索qry添加到sql中-我认为是strpos造成的..让数据库真的起到了很大的作用<代码>从发布标题(如“%searchterm%”或发布内容(如“%searchterm%”)的post_记录中选择*并从phphum中删除条带。。thnx。我将尝试此方法,然后返回给您..thnx以获得响应..什么数字显示rowCount()?@Distribut返回3thnx以指出问题,但这不是问题,因为我正在使用html5,如果搜索框为空,则搜索按钮将不会生效,因此这不是问题。您可以通过删除
if(empty($search\u key)&&search\u key!=”来尝试代码吗{echo$mes=“输入您要搜索的关键字。”;}否则{
如果您认为$search\u键不是问题?