【发布时间】:2020-09-08 09:49:22
【问题描述】:
在我的"domains" MySQL 表中,我有一个列"domain_name",其中包含域名,例如
example.com, example.com.au, example.org, example.net, domain.com, etc.
我有一个搜索文本框和一些顶级域 (TLD) 复选框。
我想执行一个搜索查询,根据在搜索文本框中键入的内容和检查的 TLD 从上表中获取域。
我知道我可以借助以下查询根据在文本框中键入的某些字符来搜索域:
SELECT * FROM domains WHERE domain_name LIKE '%" . $domain_name . "%'
但我找不到正确的方法,我只能选择具有某些特定 TLD 的域。此外,可以选中多个 TLD 复选框以查找域。
要根据所选的 TLD 查找域,我尝试了以下查询:
SUBSTRING_INDEX(domain_name, '.', 2) LIKE '%.com%'
但它也获取了.com.au 域。此外,我不能使用此查询来检查不同的 TLD(可能正在使用 IN() 运算符?)。
那么我怎样才能找到在域名中包含字符 c 和 TLD .com 的域?
对于多个 TLDS,我想查找具有字符 c 和 TLDS .com、.com.au、.net 的域?
【问题讨论】:
标签: mysql