我有一个数据库,我用一些随机数据生成,在我有一切正常工作并输入真实数据之前。我有一个PHP数据库中的数据,我试图做一个搜索表单,它将拉动数据库,并显示结果,当用户在搜索栏中键入一个名称。理想情况下,这可以通过姓氏搜索客户,并且数据库中与该姓名匹配的所有人都显示为结果。我有一个简单的HTML网页,寻找如下形式: //形式的搜索PHP和HTML表格用用户输入搜索数据库
<html>
<body>
<form action="php_db.php">
<Surname: <input type="text" name="name">
<button type="submit">Submit</button>
</form>
</body>
</html>
接下来是PHP的页面,在这里我连接到数据库和搜索情况。我删除了所有数据库信息的安全性,但我可以确认它连接成功。我的问题是结果没有按要求显示。我曾尝试使用任何可以找到的参考,并且我错过了一些东西。我知道我的问题出现在“表格”后面,好像我没有包含任何结果返回后没有匹配到搜索结果。我也猜测我缺少if部分中显示结果的内容。我一直坚持这一段时间和援助将不胜感激。
$conn = new mysqli($servername, $username, $password, $dbname);
$sql = "SELECT FNAME,LNAME FROM `table` WHERE 'LNAME' LIKE
'%$search_term%'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
//output data of each row
while ($row = $result->fetch_assoc()) {
printf ("%s, %s<br>", $row["LNAME"], $row["FNAME"]);
}
if ($result->num_rows = 0) {
echo "0 results <br";
}
}
你看到了什么,如果你'$打印SQL;'?另外,您是否可以从代码中删除粗体和斜体 - 格式不适用于代码块,并且很难阅读。 – Kita
您不能在代码块内部制作粗体或斜体代码(在撰写问题时会有预览帖子)。请按原样粘贴您的代码,以便我们知道实际的外观。 –
'WHERE'LNAME'' <=您使用了错误的引号。表和列的名称应该用back ticks包围,而不是单引号,并且只需引用与保留字相同的表名和列名。 –