我正在尝试创建一个搜索页面,允许用户在表单的“名称”和“位置”字段中键入值,然后将在MYSQLi查询中使用。
但是这些值没有被解析为查询。
$_POST
正在从表单中正确获取值,如果说WHERE Name = 'name1'
,查询将会起作用,所以问题似乎是bind_param没有正确解析值。
为什么不工作?
$name = $_POST['name'];
$location = $_POST['location'];
if ($result = $mysqli->prepare("SELECT * FROM table WHERE Name = ?")) {
$result->bind_param("s", $name);
$result->execute;
if ($result->num_rows > 0) {
echo "<table>";
echo "<tr>";
echo "<th>Name </td>";
echo "<th>Location</td>";
echo "</tr>";
while ($row = $result->fetch_object()) {
echo "<tr>";
echo "<td>" . $row->Name . "</td>";
echo "<td>" . $row->Location . "</td>";
echo "</tr>";
}
echo "</table>";
}
}
$mysqli->close();