Php&;Mysql搜索问题

Php&;Mysql搜索问题,php,mysql,Php,Mysql,以下是我的search.php代码: <?php if(isset($_POST['action']) && $_POST['action'] == "Search Question") { $search = mysql_real_escape_string(trim(htmlspecialchars($_POST['search']))); $err = array(); if(isset($search)) { if(em

以下是我的search.php代码:

<?php
if(isset($_POST['action']) && $_POST['action'] == "Search Question")
{
$search = mysql_real_escape_string(trim(htmlspecialchars($_POST['search'])));   
$err = array();

if(isset($search))
    {   
            if(empty($search))
                $err[] = "Please write your question name";
            elseif(is_numeric($search))
                $err[] = "Wrong values entered";
        }   
        if(!empty($err))
        {
            foreach($err as $er)
            {
                echo "<font color=red>$er<br/></font>"; 
            }
        }
        else
        {

            $search_sql = mysql_query("SELECT * FROM questions WHERE q_name LIKE '%$search%'");


            //$search_sql = mysql_query("SELECT * FROM questions WHERE MATCH(q_name, answer) AGAINST  '$search' ");             
            $numserach = mysql_num_rows($search_sql);

            if($numserach == 1)
            {
                echo "<font color='green'><strong>$numserach Question found</strong></font><br/>";
                while($result = mysql_fetch_array($search_sql))
                {
                    $subid = $result['sub_id'];
                    $id = $result['id'];
                    $qquestionsname = $result['q_name'];

                    ////////////////////////////////////////////////// SEARCH SHOW START HERE ///////////////////////
                    //include("toppagi.php");
                    $questions = $result['q_name']; 
                    echo "<a href='answerdetails.php?id=$id&subid=$subid&questionname=$qquestionsname'>$questions</a><br/>";
                    //include("bottompagi.php");
                    ////////////////////////////////////////////////// SEARCH SHOW END HERE ///////////////////////
                }
            }
            else
            {
                echo "<font color=red>No Result Found</font>";
            }

        }   
    }
    ?>
使用此行

  if($numserach > 0)
  {.....
而不是

  if($numserach == 1)
  {.....
用这条线

  if($numserach > 0)
  {.....
而不是

  if($numserach == 1)
  {.....

将以下说明更改为最新版本:

if($numserach == 1) --> if($numserach >0) 

然后重新执行脚本。

将下面的指令更改为最新的指令:

if($numserach == 1) --> if($numserach >0) 

然后重新执行脚本。

正如其他人已经提到的,通过替换

if($numserach == 1)
if($numserach == 1)

非常重要:

我在OP数据库处理严重不好的每一个问题上都这样做,作为提倡更好实践的一种方式

请花些时间阅读如何使用PDO。
当您的项目被黑客攻击时(如果这是专业工作),您将避免将来的尴尬,您将学到一种新的东西来保护自己,并为自己提供更好的机会来提高应用程序的性能

正如其他人已经提到的,通过替换

if($numserach == 1)
if($numserach == 1)

非常重要:

我在OP数据库处理严重不好的每一个问题上都这样做,作为提倡更好实践的一种方式

请花些时间阅读如何使用PDO。 当您的项目被黑客攻击时(如果这是专业工作),您将避免将来的尴尬,您将学到一种新的东西来保护自己,并为自己提供更好的机会来提高应用程序的性能

更换

因为目前,如果只找到了一个术语,那么只显示结果。如果找到多个,则不会显示结果。

替换


因为目前,如果只找到了一个术语,那么只显示结果。如果找到多个,则不会显示任何结果。

Nice@Rab Nawaz它正在工作!但我还有一个问题。。。找到我的搜索项目后,我看到了所有细节,但当我返回时,Firefox显示“文档已过期”。为什么?@Shibbir,这就是
POST
方法的工作原理。你可以在另一个页面中提供搜索结果,这样当用户返回时,他们就不会得到过期的文档。@Shibbir,好吧,你可以通过向上投票+接受他的回答来表达你对这家伙的感激之情@Rab Nawaz它现在起作用了!但我还有一个问题。。。找到我的搜索项目后,我看到了所有细节,但当我返回时,Firefox显示“文档已过期”。为什么?@Shibbir,这就是
POST
方法的工作原理。你可以在另一个页面上提供搜索结果,这样当用户返回时,他们就不会得到过期的文档。@Shibbir,好吧,你可以通过向上投票+接受他的回答来表达你对这家伙的感激之情。随机摘录自教程:Oracle数据库被许多“企业”公司使用,但现在有了更灵活的选择。有趣的xD@ÁlvaroG.Vicario,:D |这是我见过的最容易理解的PDO教程之一。随机摘录自教程:Oracle数据库被许多“企业”公司使用,但现在有了更灵活的选择。有趣的xD@ÁlvaroG.Vicario,:D |这是我见过的最容易理解的PDO教程之一。