php mysql搜索算法_如何通过php和mysql进行更智能的搜索

我有一个数据库上的地方表,它包含两行标题和描述

我通过PHP和MYSQL进行了搜索

$select_place = $mysqli->query("SELECT * FROM places where title LIKE '%$searchname%' or description LIKE '%$searchname%'");

$num_place = $select_place->num_rows;

while ($rows_place = $select_place->fetch_array(MYSQL_ASSOC)){

$id_place = $rows_place ['id'];

$title_place = $rows_place ['title'];

$description_place = $rows_place ['description'];

echo "

{$title_place}


";

}

它运作良好,但是,例如,如果你搜索单词塔如果以错误的方式写,如twer或towr它不起作用我怎样才能使它更聪明?

最佳答案 一个不错的选择是包含MySQL SOUNDEX()函数:

SELECT

*

FROM

places

WHERE

title LIKE '%$searchname%'

OR description LIKE '%$searchname%'

OR SOUNDEX(title) = SOUNDEX('$searchname')

OR SOUNDEX(description) = SOUNDEX('$searchname')

这将匹配你的例子中的towr和twer.

更多信息可以在这里找到:

注意:

This function, as currently implemented, is intended to work well with

strings that are in the English language only. Strings in other

languages may not produce reliable results.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,我理解了你的问题。你想知道如何使用 PHP 实现用户注册和登录,但是不使用 MySQL 数据库。那么,我可以给你一些思路和建议,希望能帮助到你。 首先,你需要明确你要使用哪种数据存储方式来保存用户信息。如果不使用 MySQL,可以考虑使用其他的关系型数据库,比如 PostgreSQL、SQLite 等,或者使用非关系型数据库,比如 MongoDB、Redis 等。或者,你也可以考虑使用文件系统来存储用户信息,比如将用户信息保存在 JSON 格式的文件中。 其次,你需要设计用户表的结构,包括哪些字段需要保存,比如用户名、密码、邮箱、注册时间等。对于密码,你需要使用加密算法来保证数据安全,比如使用 PHP 的 password_hash() 函数进行加密,使用 password_verify() 函数进行验证。 接下来,你可以编写 PHP 代码来实现用户注册和登录的功能。对于注册功能,你需要编写一个表单页面,用户可以在页面上输入自己的信息,然后将信息提交到 PHP 文件中进行处理。在 PHP 文件中,你需要将用户输入的信息进行验证和处理,然后将用户信息保存到数据库或文件中。 对于登录功能,你也需要编写一个表单页面,用户可以在页面上输入自己的用户名和密码,然后将信息提交到 PHP 文件中进行验证。在 PHP 文件中,你需要查询数据库或文件,比对用户输入的用户名和密码是否与保存的信息一致,然后根据验证结果进行相应的处理,比如跳转到登录成功页面或提示用户登录失败。 最后,你需要注意安全问题,比如防止 SQL 注入、XSS 攻击等,确保用户信息的安全性和可靠性。 希望这些思路和建议能对你有帮助。如果你有其他问题或疑问,可以继续向我提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值