-1

我在我的网站上的搜索有问题 我不明白为什么它会给我这个错误

这是我的表单代码

<form action="index.php?cat=search_results&learn_id=1" method="post">
      <div id="topSearchBodyStyle">
        <input type="text" name="search" class="topSearchTextBackground" />
      </div>
      <div id="topSearchButtonStyle">
        <input type="submit" name="submit" class="topSearchButtonBackground" value="" />
      </div>
    </form>

这是有php代码的页面

<?php 

    $getSearch = $_POST['search'];
    trim($getSearch);

    if(!get_magic_quotes_gpc()) {
        $getSearch = addslashes($getSearch);
        }

    $connectToDb = "select * from tutorials where tutorial_title like '%.$getSearch.%'"; 
    $searchResults = $db->query($connectToDb) or die($db->error);
    if ($searchResults){
        $numResultas = $searchResults ->num_rows;
        echo "<p>Found : " . $numResultas . "</p>";
        while($row = mysqli_fetch_array($searchResults)) {

            echo $row['tutorial_title'];    
        }
    }else{
        echo "cant connect";
        }
?>

知道为什么它给我关于“未定义索引:搜索”的注释以及为什么结果为“0”

4

1 回答 1

1

从您给出的代码示例中,我看不出您得到的原因Undefined index: search,但是,您确定$_POST['search']确实设置了?如果这是某个框架或其他项目的一部分,我已经看到一些未设置 $_POST 和 $_GET 并且您必须以另一种方式访问​​它们。

未定义的索引错误是否可能来自代码中的不同行?

如果您通过 获得一个值$_POST['search'],那么您获得 0 个结果的原因是因为您的 SQL 语句中有错误。

应该:"select * from tutorials where tutorial_title like '%".$getSearch."%'"

最后,您应该使用mysql_real_escape_string而不是添加斜杠,或者更好的准备语句

于 2012-04-06T15:27:48.717 回答