首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将重写的带有连字符的URL字符串与MYSQL中可能有1个连字符的字符串匹配?

如何将重写的带有连字符的URL字符串与MYSQL中可能有1个连字符的字符串匹配?
EN

Stack Overflow用户
提问于 2018-02-03 08:21:28
回答 1查看 45关注 0票数 0

我正在使用item_name列用连字符重写URL。例如,使用animals of the planet-v9http://example.com/book/animals-of-the-planet-v9str_replace(' ','-',$item_name)。我即将回到MySQL的方式是:

代码语言:javascript
复制
$item_name = str_replace('-', ' ', $_GET['item_name']);
SELECT * FROM table where item_name LIKE '% $item_name %'

“地球上的动物”(-v9)变成“地球上的动物”( v9 )。

网址:example.com/动物-地球-v9

上面的查询匹配0结果,我注意到任何包含连字符的列都不匹配,因为有时它需要一个原始连字符,而不是字符串中重写的连字符。我还在查询中尝试了with =和LIKE。如何确定在哪里可以有一个非常简单的URL,其中包含连字符,而不需要任何数字ids?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-02-03 08:27:00

尝尝这个,

代码语言:javascript
复制
$item_name = $_GET['item_name'];
SELECT * FROM table where REPLACE(item_name, ' ', '-') = '$item_name'

注意-在使用前逃离$item_name。以防止查询从mysql注入。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48595384

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档