【发布时间】:2017-12-08 00:03:17
【问题描述】:
我目前正在练习 PHP 和 AJAX,我正在尝试创建一个允许用户实时搜索数据库以查找产品库存的应用程序。当用户在其中一个条目中输入字母时,会显示标题,但不会显示数据。我不确定我是否做错了,但我会让你们来判断。代码如下:
Results.php - 下面
<!DOCTYPE html>
<html>
<head>
<title>Results</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<?php
$q = intval($_GET['q']);
$con = mysqli_connect("localhost", "username", "password", "databaseName");
//edited out for safety
if (!$con) {
die('Could not connect: ' . mysqli_error($con));
}
mysqli_select_db($con,"jakeholc_ajaxtest");
$sql="SELECT * FROM stock WHERE name LIKE '%{$q}%'";
$result = mysqli_query($con,$sql);
echo "<table>
<tr>
<th>Product name</th>
<th>Description</th>
<th>Price</th>
<th>Quantity</th>
</tr>";
if (mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_assoc($result)) {
echo "<tr>";
echo "<td>" . $row['name'] . "</td>";
echo "<td>" . $row['descr'] . "</td>";
echo "<td>" . $row['price'] . "</td>";
echo "<td>" . $row['quantity'] . "</td>";
echo "</tr>";
}
}
echo "</table>";
mysqli_close($con);
?>
【问题讨论】:
-
如果您已经在
mysqli_connect()中提供了数据库名称,为什么还要使用mysqli_select_db()? -
鉴于您没有明显的错误,我认为可以安全地假设您的查询没有返回任何结果。你可以做一些非常基本的调试来 a) 确认是这种情况,b) 找出为什么你没有得到结果