通过阅读和搜索网络,我设法构建了一个 HTML 表单和 PHP 脚本,它将在我拥有的 MySQL 数据库上进行文本搜索。我可以让它从输入到表单中的 1 个字段的文本中成功搜索。我想知道如何扩展它,以便我可以给用户 2 个字段,他们可以在 1 个或两个字段中输入数据以优化他们的结果,即搜索所有名为“John”的条目,或所有名为“John”的条目 & in “都柏林”之城。我尝试了许多对 MySQL 查询的操作,但未能成功使其令人满意地工作。如何编写下面的代码以使其正常工作?
我的 HTML 表单代码是:
<form method="POST" action="search.php" name="formid">
Name: <input type="text" name="query" /><br>
City: <input type="text" name="city" /><br>
<input type="submit" name="submit" value="Start Search" />
</form>
&PHP代码是:
<?php
include 'db_details.php';
$connection = mysql_connect($server, $user, $password);
mysql_select_db($db, $connection);
$query=mysql_real_escape_string($_POST['query']);
$query = htmlspecialchars($query);
$result=mysql_query("SELECT * FROM colour WHERE (firstname LIKE '%".$query."%') ", $connection) or die ("Cannot run query");
echo "<h2>Search Results</h2>";
while ($row = mysql_fetch_assoc($result))
{
foreach ($row as $attribute)
echo "{$attribute} ";
echo "<br>";
}
mysql_close();
?>