这是我的代码:
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 ...
答案 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