gpt4 book ai didi

php - 我的搜索引擎没有显示任何错误,但也没有显示任何结果

转载 作者:行者123 更新时间:2023-11-29 00:25:30 26 4
gpt4 key购买 nike

我想做一个搜索引擎。我得到了以下代码。编写代码是为了去除空格、计算行数和匹配结果的数量,以及一些 sql 注入(inject)证明。所有这些属性都有效,但搜索本身没有显示任何结果。我也没有收到错误报告。我已经审查这段代码一段时间了,但我就是找不到问题所在。我知道这是 mysql 并且已弃用,但我认为它应该仍然有效。它不工作的原因是因为 Mysql 已被弃用,还是你能找到我犯的错误?希望我的问题足够清楚。

索引:

<form action = "" method="POST">
<p>
<input type="Text" name="keywords" /> <input type="submit" value="Search" />
</p>
</form>

<?php
if (isset($_POST['keywords'])) {
$keywords = mysql_real_escape_string(htmlentities(trim($_POST['keywords'])));

$errors = array();

if (empty($keywords)) {
$errors[] = 'Please enter a search term';
} else if (strlen($keywords)<3) {
$errors[] = 'Your search term must be three or more characters';
} else if (search_results($keywords) === false) {
$errors[] = 'Your search for '. $keywords .' returned no results';
}

if (empty($errors)) {

echo '<p>Your search for <strong>', $keywords ,'</strong> returned <strong> </strong> results</p>';
foreach($results as $result) {
echo '<p> <strong>', $result['Categorie'],' <br> ', $result['SerieNummer'] ,' <br> ', $result['MacAdress'] ,'</a> </p>';
}

} else {
foreach($errors as $error) {
echo $error, '</br>';
}

}
}
?>

配置:

<?php
include 'db.inc.php';


function search_results($keywords) {
$returned_results = array();
$where = "";

$keywords = preg_split('/[\s]+/', $keywords);
$total_keywords = count($keywords);

foreach($keywords as $key=>$keyword) {
$where .= "`keywords` LIKE '%$keyword%'";
if ($key != ($total_keywords -1)) {
$where .= " AND ";
}
}
$results = "SELECT `calleridname`, LEFT(`calleridnum`, 70) as `calleridnum`, `callapiid` FROM `callflow` WHERE $where";
$results_num = ($results = mysql_query($results)) ? mysql_num_rows($results): 0;

if ($results_num === 0) {
return false;
} else {

while ($results_row = mysql_fetch_assoc($results)) {
$returned_results[] = array(
`calleridname` => $results_row['calleridname'],
`calleridnum` => $results_row['calleridnum'],
`callapiid` => $results_row['callapiid'],
);
}

return $returned_results;

}

}


?>

最佳答案

问题是因为你在这里使用了单引号:

'%$keyword%'

在您的 SQL 查询中。将其更改为 "%$keyword%" 即可!

此外在这一行中,删除最后一个 ,

`callapiid` => $results_row['callapiid'],

关于php - 我的搜索引擎没有显示任何错误,但也没有显示任何结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19116355/

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