PHP搜索功能不打印结果

时间:2014-12-18 08:17:13

标签: php

这是我的代码:

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

    $search_value= $_GET['searchbox'];
    echo "Search results for $search_value";
    print "<br><br>";    

    $query="
        SELECT idemp,sn 
        FROM employee 
        WHERE idemp like '%search_value%' 
            OR sn like '%search_value%'";
    $result = $conn->query($query);

    if ($result->num_rows > 0) {

        while ($row = $result->fetch_assoc($query)) {

            $idemp=$row->idemp;
            $sn=$row->sn;

            echo $row['$idemp'];
            echo $row['$sn'];
        }
    } 
};

即使数据库中存在等价物,它也没有返回匹配结果... help tnx ...

1 个答案:

答案 0 :(得分:0)

您的查询中不包含变量,您只包括其名称(不包含$?)。

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

由于你正在使用mysqli,最好以任何一种方式绑定值,因为它会规范化输入并防止注入。这是一个例子:

$conn->prepare("SELECT idemp,sn FROM employee 
WHERE idemp like ? OR
sn like ?");
$conn->bind_params('ss', $search_value, $search_value);
$conn->execute(); // <-- returns the query results