如何在数据库中查找针 sql
How to find a needle in database sql
我有一个搜索数据库的查询,即
$linkcdb = $wpdb->query($wpdb->prepare("SELECT wp_link_factor WHERE wp_link_chk = %s", $u));
其中 $u = is nay link;
例如;
$u = www.kaka.com
$u = popopo.com
$u = http://jajaja.com
我有一个数据库,其中 www, http and .com
在 table 列中,列名是 wp_link_chk
现在我面临的问题是用户输入是完整的 link 就像 www.example.com
而在数据库中我只有 .com, http and www
我想要的是如何比较我的完整句子,看句子中是否有 needle http、www 或 .com?
执行此操作的函数是 stristr($u,'http')
所以我将如何在数据库中使用此功能,我的意思是我将如何检查 wp_link_chk 的列作为我的指针句子 ?
嗯,最接近这些的方法是使用 mysql LIKE 函数。
实际的语句类似于
SELECT wp_link_factor WHERE wp_link_chk LIKE %www.example.com%
但是由于您使用的是 wordpress 准备好的语句,因此可以这样使用:
$linkcdb = $wpdb->query($wpdb->prepare("SELECT wp_link_factor WHERE wp_link_chk LIKE %s", '%' . $u . '%'));
-- 更新--
为了完成,您可以使用 REGEXP 匹配 select 行,这些行在 wp_link_chk 列中包含 http、www 或 .com,使用以下查询。
SELECT wp_link_factor WHERE wp_link_chk REGEXP '(http)|(www)|(\.com)'
使用 MySQL 函数 LOCATE
你可以使用类似
... WHERE LOCATE( wp_link_chk, :userInput ) > 0
编辑:请注意,这种方法当然可以 return 多条记录,例如,如果 "http://www.example.com"
与 "http"
、"www"
和 [=15= 匹配].
我有一个搜索数据库的查询,即
$linkcdb = $wpdb->query($wpdb->prepare("SELECT wp_link_factor WHERE wp_link_chk = %s", $u));
其中 $u = is nay link;
例如;
$u = www.kaka.com
$u = popopo.com
$u = http://jajaja.com
我有一个数据库,其中 www, http and .com
在 table 列中,列名是 wp_link_chk
现在我面临的问题是用户输入是完整的 link 就像 www.example.com
而在数据库中我只有 .com, http and www
我想要的是如何比较我的完整句子,看句子中是否有 needle http、www 或 .com?
执行此操作的函数是 stristr($u,'http')
所以我将如何在数据库中使用此功能,我的意思是我将如何检查 wp_link_chk 的列作为我的指针句子 ?
嗯,最接近这些的方法是使用 mysql LIKE 函数。
实际的语句类似于
SELECT wp_link_factor WHERE wp_link_chk LIKE %www.example.com%
但是由于您使用的是 wordpress 准备好的语句,因此可以这样使用:
$linkcdb = $wpdb->query($wpdb->prepare("SELECT wp_link_factor WHERE wp_link_chk LIKE %s", '%' . $u . '%'));
-- 更新--
为了完成,您可以使用 REGEXP 匹配 select 行,这些行在 wp_link_chk 列中包含 http、www 或 .com,使用以下查询。
SELECT wp_link_factor WHERE wp_link_chk REGEXP '(http)|(www)|(\.com)'
使用 MySQL 函数 LOCATE
你可以使用类似
... WHERE LOCATE( wp_link_chk, :userInput ) > 0
编辑:请注意,这种方法当然可以 return 多条记录,例如,如果 "http://www.example.com"
与 "http"
、"www"
和 [=15= 匹配].