【发布时间】:2015-02-09 22:59:47
【问题描述】:
我有一个充满值的数据库。我想根据标题查询并获取某些值。我正在使用 sql 中的 LIKE 查询来完成此操作。
由于某种原因,当我在搜索栏中查询“新”时,没有出现任何结果。数据库中有一个标题为:New Item
HTML:
<form method="get" action="">
<input type="text" name="search" id="search" value="Search...">
<br>
<br>
<center>
<input type="submit" value="Search" name="searchsub" id="searchsub">
</center>
</form>
PHP:
<?php
if(isset($_GET['search']) && isset($_GET['searchsub']))
{
$search = $_GET['search'];
$results = mysqli_query($connection, "SELECT * FROM mi4 WHERE Title LIKE '$search'");
echo "<table><tr><td>Title</td><td>Teacher</td><td>Date</td><td>Description</td><td>Submitter</td></tr>";
while($row = mysqli_fetch_array($results))
{
echo "<tr><td>". $row['Title'] ."</td><td>". $row['Teacher'] ."</td><td>". $row['Date'] ."</td><td>". $row['Description'] ."</td><td>". $row['Submitter'] ."</td></tr>";
}
echo "</table>";
}
?>
【问题讨论】:
-
将
or die(mysqli_error($connection))添加到mysqli_query()看看它是否会产生任何结果。另外,请确保您已连接并使用相同的 API。 -
"New Item" wont = 'new' you need LIKE '$search%'" 你也应该转义用户输入。
-
我补充说,它没有返回错误。一定是其他问题。
-
另外,在执行
LIKE '$search'时需要进行精确搜索。您可能想使用类似LIKE '%$search'或LIKE '$search%'或LIKE '%$search%' -
% 符号正确,谢谢!
标签: php html mysql forms sql-like