gpt4 book ai didi

php - 另一个不起作用的动态表(搜索引擎)

转载 作者:行者123 更新时间:2023-11-29 06:53:41 32 4
gpt4 key购买 nike

你好 php 的另一个问题,我不确定为什么它不起作用,但这是代码:

        <?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 `document_name` ,LEFT(`first_paragraph`,70) as `first_paragraph` FROM `documents` 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(
'title' => $results_row['document_name'],
'description' => $results_row['first_paragraph']
);
}

return $returned_results;


}
}

?>

我现在正在尝试使用 PDO 来实现它,但我不确定如何......我不确定这是否是问题,但我没有从 mysql 得到任何东西谢谢你的时间!

最佳答案

现在不要将整个 WHERE 条件放在单引号中,您正在做这样的事情:

SELECT document_name ,LEFT(first_paragraph,70) as first_paragraph FROM documents WHERE '`keywords` LIKE '%keyword%''

它应该只是:

SELECT document_name ,LEFT(first_paragraph,70) as first_paragraph FROM documents WHERE `keywords` LIKE '%keyword%'

您可以通过一些基本的调试轻松发现这一点。

  • 始终编写代码来捕获和记录数据库错误(您没有这样的代码)
  • 如果数据库错误没有告诉您您想要什么,请记录您尝试运行的查询并尝试直接在数据库上运行它。

最后,我在这里根本看不到任何 PDO,您使用的 mysql_* 函数已被弃用,不应使用。

关于php - 另一个不起作用的动态表(搜索引擎),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14043698/

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