【发布时间】:2015-03-23 09:55:44
【问题描述】:
有人可以调试这个并告诉我为什么不工作吗?
<?php
include("C:\Wamp\www\system\db\connect.php");
$term = mysqli_real_escape_string($con, $_GET['q']);
echo "results for \"".$term."\".<br>";
$sql = "SELECT * FROM `search` WHERE Keywords='%{$term}%' LIMIT 10";
$result = mysqli_query($con, $sql) or die("<p color=\"#f00\">Could not query database.</p>");
while($row = mysqli_fetch_assoc($result) or die("<p color=\"#f00\">Could not fetch assoc array in database.</p>")) {
echo $row['Title'];
}
echo json_encode($row['Title']);
mysqli_close($con);
?>
它在mysqli_fetch_assoc 函数处停止工作。
【问题讨论】:
-
究竟是什么不工作?你连接到数据库?你的结果不是预期的吗?你有一个 php 错误?
-
WHERE 关键字 LIKE ,而不是 '=',除非您希望得到两端都带有百分号的字符串
-
@0x1gene 我可以很好地连接到数据库。正如标题所说,问题出在
mysqli_fetch_assoc函数上。该函数返回die字符串。 -
@n-dru 替换为
LIKE没有区别。 -
另外,不要打印自定义错误消息,而是使用
or die(mysqli_error())。这将帮助您识别错误。