SQL搜索查询返回没有结果
问题描述:
我有三个页面search.php处理sql查询,index.php其中搜索形式它自己和connect.php其中有数据库连接信息。我是从这个视频 https://www.youtube.com/watch?v=gf32KXTP0C4SQL搜索查询返回没有结果
以下信息首先,我确信查询将在phpMyAdmim 工作,我用了一个测试。正如你可以看到它返回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语句关闭数据库连接,以确保connectoion是WOR国王。我评论出来后,我知道这是工作
<?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的结果如下所示
它应该返回
答
请在这里检查:
$query = $db->query("
SELECT charactor_name, vault_number, history
FROM charactor
WHERE charactor_name like '%{keywords}%'
");
关键字应该是$关键字
答
试试这个吗?
if($query->num_rows()) {
使用$query->num_rows()
,而不是$query->num_rows
?
+1
$ query-> num_rows is corrent。 http://php.net/manual/en/mysqli-result.num-rows.php –
谢谢,就是这样。 – Ausghostdog
这是有趣的视频给出,因为你可以看到他们没有$ https://i.imgur.com/KULwZfP.png – Ausghostdog
我无法检查视频,但在您发送的图像(https:/ /imgur.com/KULwZfP)他们使用$关键字 –