gpt4 book ai didi

php - 如何在sql中搜索包含字符串的标题并将结果推送到数组中

转载 作者:行者123 更新时间:2023-11-28 23:57:12 25 4
gpt4 key购买 nike

好吧,我是 Mysql 的新手,我找不到解决我的问题的简单方法。我想搜索我的数据库并返回字符串的所有实例。例如:用户输入“hello world”,数据库返回查询“hello my name is world”等。我将获取这些结果并将它们推送到一个 php 数组中。

这是我根据 this 所做的尝试:

include '../config.php';
$con = new PDO('mysql:host='. DB_HOST .';dbname='. DB_NAME .'', DB_USER,DB_PASSWORD);

$firstsearcharray = array(); // push into this array
$searchqueryarray = explode(" ",$searchquery);//$searchquery is data sent from AJAX
$query = $con->prepare("SELECT * FROM srating where MATCH(title) AGAINST (':searchqueryarray')");
$query->bindParam(':$searchqueryarray',$searchqueryarray);
$query->execute();
$data = $query->fetch(PDO::FETCH_ASSOC);//I have to somehow push each result into an array (possibly using array_push and a for loop)

我认为我搜索的方式不是最佳的。我更喜欢使用 CONTAINS 而不是 LIKE,因为我听说它更快,但它的文档比 LIKE 少得多。

最佳答案

这是一个全文搜索的解决方案。

一个例子:

SELECT id,prod_name, match( prod_name )
AGAINST ( '+harpoon +article' IN NATURAL LANGUAGE MODE) AS relevance
FROM testproduct
ORDER BY relevance DESC

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

Likecontains 都是浪费时间。

关于php - 如何在sql中搜索包含字符串的标题并将结果推送到数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31352517/

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