我刚刚在PHP中创建了一个非常简单的搜索函数,但我有一些问题。搜索函数向数据库发送查询,并打印结果,但它不打印我想要的结果。它应该打印那些类似于用户输入的记录,但它只是打印每条记录。
My Form如下:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="text" name="name">
<input type="submit" name="submit" value="Search">
</form>
的PHP代码是:
if(isset($_POST['submit']))
{
require ('mysqli_connect.php');
include ('config.php');
$term = $_POST['term'];
$q = "SELECT name, producer, jamtypes, user FROM Jam WHERE name LIKE '%" . $term . "%'";
$sql = @mysqli_query ($dbc, $q);
while ($row = mysqli_fetch_array($sql)){
echo "<br />";
echo 'Name: '.$row['name'];
echo '<br/> Producer: '.$row['producer'];
echo '<br/> Created By: '.$row['user'];
echo '<br/> Category: '.$row['jamtypes'];
echo '<br/>';
}
}
谢谢人
你的表单字段是name
,而不是term
,所以你的PHP应该是
$term = $_POST['name'];
因为$term
是空白的,由于有一个不正确的值,您的查询返回所有结果。(您的查询看起来像SELECT name, producer, jamtypes, user FROM Jam WHERE name LIKE '%&'
)
仅供参考,打开error_reporting和报告通知会告诉您这一点。始终在开发过程中报告错误并显示所有错误