gpt4 book ai didi

mysql - 通过不完全匹配选择结果

转载 作者:行者123 更新时间:2023-11-29 11:03:59 24 4
gpt4 key购买 nike

我需要找出通过与数据库中的字符串不完全匹配的字符串从数据库中选择记录的最佳方法。

存储在db中的是:

 So-Fi (S. 1st St. District), 78704 (South Austin), Bouldin Creek, South Congress

我必须匹配的是:

$myArea = 'So-Fi-S-1st-St-District-78704-South-Austin-Bouldin-Creek-South-Congress';

$myArea 实际上是从数据库获取的值,并在不同页面上格式化为 SEO 友好的 URL。

我已经尝试过

SELECT* FROM t1 WHERE area = REPLACE('".$myArea."', '-', '') 

但显然没有匹配项。基本上,因为我无法驯服 $myArea 并将其格式化回数据库中的内容。

有没有办法在选择之前删除所有标点符号等,只在数据库中留下字母数字?

最佳答案

像这样进行查找肯定会让您感到头疼,有很多特殊情况您将无法涵盖。

为什么不在数据库中添加一个“slug”字段,在其中放置 SEO 友好的字符串。通过这种方式,您可以直接查找 slug,而无需进行大量字符串操作。

数据库表示例:

CREATE TABLE `locations` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`slug` varchar(255) NOT NULL,
`location` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=UTF8;

然后你像这样进行查找:

SELECT location from locations where slug = :slug;

关于mysql - 通过不完全匹配选择结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41723936/

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