首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在数据库sql中找到针

问如何在数据库sql中找到针
EN

Stack Overflow用户
提问于 2015-01-09 12:34:25
回答 2查看 410关注 0票数 0

我有查询哪个搜索数据库,也就是

代码语言:javascript
复制
 $linkcdb = $wpdb->query($wpdb->prepare("SELECT wp_link_factor WHERE wp_link_chk = %s", $u));

其中$u = is nay link;为例;

代码语言:javascript
复制
$u = www.kaka.com
$u = popopo.com
$u = http://jajaja.com

我有一个数据库,其中www, http and .com位于表的列中,列名为wp_link_chk。

现在我面临的问题是,用户输入是一个像www.example.com这样的完整链接,而数据库中只有.com, http and www。

我想要的是如何比较我的完整句子,看看这个句子中是否有针头http,或者www或.com?

这样做的函数是stristr($u,'http'),所以我将如何在数据库中使用这个功能,我的意思是我将如何检查wp_link_chk的列作为一根针来代替我的句子?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-01-09 12:51:05

使用MySQL函数LOCATE,您可以使用以下内容

代码语言:javascript
复制
... WHERE LOCATE( wp_link_chk, :userInput ) > 0

编辑:请注意,这种方法当然可以返回多个记录,例如,如果"http://www.example.com"与"http"、"www"和".com"匹配。

票数 2
EN

Stack Overflow用户

发布于 2015-01-09 12:45:13

最接近的匹配方法是使用mysql类函数。

实际的声明应该类似于

代码语言:javascript
复制
SELECT wp_link_factor WHERE wp_link_chk LIKE %www.example.com% 

但是,由于您使用wordpress准备的语句,请按如下方式使用它:

代码语言:javascript
复制
$linkcdb = $wpdb->query($wpdb->prepare("SELECT wp_link_factor WHERE wp_link_chk LIKE %s", '%' . $u . '%'));

--更新--

为了完成,可以使用REGEXP匹配来使用以下查询选择wp_link_chk列中包含http、www或.com的行。

代码语言:javascript
复制
SELECT wp_link_factor WHERE wp_link_chk REGEXP '(http)|(www)|(\.com)'
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27860697

复制
相关文章

相似问题

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