我试图弄清楚如何创建SQL查询到sql,这将会做下一步: 计算我的PHP数组中存在但在DB表中不存在的域数。 表结构是:
id|domain
我有一个包含域数的数组
$domains = ("domain1", "domain2"....);
请帮我解决这个问题!
谢谢!
答案 0 :(得分:1)
问题出在哪里?
在伪代码中:
=> foreach entry in phpArray
=> select entry from db
=> if(result == false) counter++
它的一般编码。我相信你可以这样做。
答案 1 :(得分:1)
$query = "SELECT COUNT(*) FROM DOMAINS WHERE DOMAINS.DOMAIN NOT IN (" . implode(', ', $domains) . ")";
希望它有所帮助:)
答案 2 :(得分:0)
首先用数字计算你的数组:
$counted = count($domains);
然后查询是:
SELECT COUNT(domain) as counted_domains FROM table
然后比较结果,你得到了你的不同:)
这有用吗?
答案 3 :(得分:0)
$query = "SELECT count(*) FROM table WHERE domains NOT IN ('" . join("', '", $domains) . "')";
答案 4 :(得分:0)
使用mysql:
SELECT t1.domain
FROM yourtable t1
LEFT JOIN yourtable t2
ON t1.id = t2.id
WHERE NOT t2.domain IN ('domain1', 'domain2'...)
答案 5 :(得分:0)
从数据库中选择所有域
将它们存储在数组$dbdomains
中
做点什么
foreach($domains as $key->$domain) {
if in_array($domain, $dbdomains) unset $domains[$key];
}
echo count($domains);