Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从MySQL表列中获取携带确切TLD的域名?_Mysql - Fatal编程技术网

如何从MySQL表列中获取携带确切TLD的域名?

如何从MySQL表列中获取携带确切TLD的域名?,mysql,Mysql,在我的“domains”MySQL表中,我有一列“domain\u name”,其中包含域名,例如 example.com, example.com.au, example.org, example.net, domain.com, etc. 我有一个搜索文本框和一些带有顶级域(TLD)的复选框 我想执行一个搜索查询,根据搜索文本框中键入的内容和选中的TLD从上表中获取域 我知道我可以通过以下查询,根据文本框中键入的一些字符搜索域: SELECT * FROM domains WHERE do

在我的
“domains”
MySQL表中,我有一列
“domain\u name”
,其中包含域名,例如

example.com, example.com.au, example.org, example.net, domain.com, etc.
我有一个搜索文本框和一些带有顶级域(TLD)的复选框

我想执行一个搜索查询,根据搜索文本框中键入的内容和选中的TLD从上表中获取域

我知道我可以通过以下查询,根据文本框中键入的一些字符搜索域:

SELECT * FROM domains WHERE domain_name LIKE '%" . $domain_name . "%'
SUBSTRING_INDEX(domain_name, '.', 2) LIKE '%.com%'
但是我找不到一个合适的方法来使用它,我只能选择那些具有特定TLD的域。此外,可以选中多个TLD复选框以查找域

要根据选定的TLD查找域,我尝试了以下查询:

SELECT * FROM domains WHERE domain_name LIKE '%" . $domain_name . "%'
SUBSTRING_INDEX(domain_name, '.', 2) LIKE '%.com%'
但它也获得了
.com.au
域名。此外,我不能使用此查询来检查不同的TLD(可能正在使用()运算符?)

那么,如何在域名中找到具有字符
c
和TLD
.com
的域呢


对于多个TLD,我希望找到具有字符
c
和TLD
.com
.com.au
.net

%
的域是通配符运算符。如果要搜索以.com结尾的URL,只需使用

LIKE '%.com'

请注意,删除搜索文本末尾的
%
会明确告诉搜索引擎字符串以.com

结尾
%
是通配符运算符。如果要搜索以.com结尾的URL,只需使用

LIKE '%.com'

请注意,删除搜索文本末尾的
%
会明确告诉搜索引擎字符串以.com

结尾。不,我不能像
%
等那样使用
。因为我事先不知道查看主字符串的TLD是
.com
.com.au
。此外,它可以是多个TLD进行搜索。@Sachin是什么阻止您键入
域名,如“%.com”或域名,如“%.com.au”
@Sachin“但它也获取了.com.au域。此外,我不能使用此查询来检查不同的TLD(可能使用了()运算符?)。”从您的问题中引用的这句话是一个问题陈述,它指出,
SUBSTRING\u INDEX(domain\u name,,,.2)如“%.com%”
即使在不需要时也会找到.com.au结果。如果从末尾删除该通配符,则引号中的问题将得到解决。如果您使用了几个类似的运算符,如我前面的评论中所述,由或分隔,那么您的评论中的问题也得到了解决。我尝试了
SELECT*从子字符串索引(域名“,”2)的域中,例如“%.com”
,它仍然获取
.com.au
,为什么?@Sachin,因为您不需要调用
子字符串\u INDEX
。请尝试使用
域名,例如“%.com”
。不,我不能在这里使用
例如
%
等,因为我事先不知道要查看主字符串的TLD是
.com
.com.au
。此外,它可以是多个TLD进行搜索。@Sachin是什么阻止您键入
域名,如“%.com”或域名,如“%.com.au”
@Sachin“但它也获取了.com.au域。此外,我不能使用此查询来检查不同的TLD(可能使用了()运算符?)。”从您的问题中引用的这句话是一个问题陈述,它指出,
SUBSTRING\u INDEX(domain\u name,,,.2)如“%.com%”
即使在不需要时也会找到.com.au结果。如果从末尾删除该通配符,则引号中的问题将得到解决。如果您使用了几个类似的运算符,如我前面的评论中所述,由或分隔,那么您的评论中的问题也得到了解决。我尝试了
SELECT*从子字符串索引(域名“,”2)的域中,例如“%.com”
,它仍然获取
.com.au
,为什么?@Sachin,因为您不需要调用
子字符串\u INDEX
。请尝试使用“%.com”之类的
域名