如何从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”之类的域名
。