gpt4 book ai didi

PHP 搜索 MySQL

转载 作者:太空宇宙 更新时间:2023-11-03 11:42:08 25 4
gpt4 key购买 nike

我有这个代码:

function searchMovie($query)
{
$this->db->where("film_name LIKE '%$query%'");
$movies = $this->db->get ("films", 40);
if($this->db->count > 0)
{
return $movies;
}
return false;
}

我的提交表单按钮中的 Javascript 代码去除了所有特殊字符,例如 ; : '/etc. 来自查询字符串,然后将用户重定向到搜索 uri (szukaj/query)。因此,例如,如果 film_name 是 Raj: wiara,并且用户搜索 raj: wiara,则查询看起来像 raj wiara,并且用户不会获得任何结果。我正在考虑将查询分解为单个单词,然后为每个单词从数据库中执行 SELECT,但它会给出同一部电影的多个结果。不想更改 javascript 代码,而且我认为如果没有像 : 这样的特殊字符,我就无法制作电影名称。或者也许在 db 中为 film_keywords 创建另一个列,并在其中添加所有由 , 或其他内容分隔的电影单词,然后搜索该列?

最佳答案

MySQL 的全文搜索功能是您的好 helper :

http://dev.mysql.com/doc/refman/5.7/en/fulltext-search.html

将返回一系列匹配项并给出分数,以便您以最佳匹配顺序返回。


警告:$this->db->where("film_name LIKE '%$query%'"); 对 SQL 注入(inject)开放。任何人都可以绕过 JavaScript,因此您必须始终清理服务器端的输入。这最好也使用 DB 函数来完成,而不仅仅是剥离字符 - 因此请检查您正在使用的任何库以执行此操作。

关于PHP 搜索 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41028246/

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