gpt4 book ai didi

PHP 多重搜索查询返回所有行

转载 作者:行者123 更新时间:2023-11-29 07:09:17 24 4
gpt4 key购买 nike

问题是我正在尝试获取特定的搜索结果,但它给出了所有数据库行,而不是过滤后的结果。我怎样才能避免这种情况?

require_once 'db/connect.php';

if(isset($_GET['submit'])){
$doctor = $db->escape_string($_GET['doctor']);
$specialization = $db->escape_string($_GET['specialization']);
$hospital = $db->escape_string($_GET['hospital']);

$query = $db->query("
SELECT docname, specialization,hospital
From doctor
WHere docname Like '%{$doctor}%' or
specialization like '%{$specialization}%' or
hospital like '%{$hospital}%'
");
?>




<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-count">
<a href="#"><?php echo $r->docname; ?></a>
</div>
<?php
}
}
}

最佳答案

您必须从 WHERE 子句中删除未使用的字段。否则,hospital like '%%' 条件将有效匹配表中的每一行。

因此,在您的情况下,您应该动态创建查询,仅添加非空字段的条件。

当然它对打印结果查询有很大帮助。它不仅能让您了解您正在运行什么 SQL,而且>让你的问题变得合理。

关于PHP 多重搜索查询返回所有行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40423234/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com