php搜索打印所有项目甚至没有输入任何字符

时间:2015-01-08 05:13:46

标签: php

这是我的搜索代码,它可以工作但是当我打印时甚至没有输入任何字符。它仍然搜索。最糟糕的是,它会打印数据库中的所有项目,我该怎么做。感谢。

 if(isset($_GET['search'])) {

$search_value= $_GET['searchbox'];



//$sql="SELECT idemp,sn FROM employee 
//WHERE idemp like '%$search_value%' OR
//sn like '%$search_value%'";

$sql = "select * from employee where (id_no like '%$search_value%' OR sn like '%$search_value%')";

$result = $conn->query($sql);

if ($result->num_rows > 0) {
  echo "'$result->num_rows' result/s for '$search_value'";
print "<br><br>";

3 个答案:

答案 0 :(得分:1)

您可能需要将if条件更改为

if(isset($_GET['search']) && !empty($_GET['searchbox'])){
// do search 
}

答案 1 :(得分:0)

if(isset($ _ GET ['search']))将返回true,因为它被设置为空字符串。

if(isset($_GET['search']) && $_GET['search'] )

是您正在寻找的条件

答案 2 :(得分:0)

首先检查你是否收到任何字符串, 只有在你得到的东西时运行你的查询。

if(isset($_GET['searchbox']) && $_GET['searchbox'] != ''){
    $search_value= $_GET['searchbox'];
    $sql = "select * from employee where (id_no like '%$search_value%' OR sn like '%$search_value%')";

    $result = $conn->query($sql);

    if ($result->num_rows > 0) {
    echo "'$result->num_rows' result/s for '$search_value'";
    print "<br><br>";
}