【发布时间】:2016-05-24 21:25:55
【问题描述】:
我有三个页面 search.php 处理 sql 查询,index.php 具有它自己的搜索表单和 connect.php 具有数据库连接信息。我正在关注此视频中的信息 https://www.youtube.com/watch?v=gf32KXTP0C4
首先我确保查询可以在 phpMyAdmim 中工作 我用 a 作为测试。如您所见,它返回 117 个结果
以关键字为名称的表单
<form action="search.php" method="get">
<label>
Search
<input type="text" name="keywords" autocomplete="off">
</label>
<input type="submit" value="Search">
Search.php如下,它应该根据关键字搜索表格中输入的内容,回显结果数量,然后将它们列出
<?php
require_once 'connect.php';
if(isset($_GET['keywords'])) {
$keywords = $db->escape_string($_GET['keywords']);
$query = $db->query("
SELECT charactor_name, vault_number, history
FROM charactor
WHERE charactor_name like '%{keywords}%'
");
?>
<div class="result-count">
Found <?php echo $query->num_rows; ?> results
</div>
<?php
if($query->num_rows) {
while($r = $query->fetch_object()) {
?>
<div class="result">
<a href="#"><?php echo $r->charactor_name; ?></a>
</div>
<?php
}
}
}
connect.php如下 我使用http://php.net/manual/en/mysqli.construct.php 中的代码从 if 语句开始测试数据库连接,以确保连接正常工作。一旦我知道它有效,我就将其注释掉了
<?php
$db = new mysqli('localhost', 'root', '', 'csc8417');
/*
if (mysqli_connect_error()) {
die('Connect Error (' . mysqli_connect_errno() . ') '
. mysqli_connect_error());
}
echo 'Success... ' . $db->host_info . "\n";
$db->close();
?>*/
无论我运行什么查询,我总是得到 0 个结果,如此处所示
它应该返回
【问题讨论】: