【发布时间】:2013-09-10 08:14:59
【问题描述】:
我有一个疑问。我可以在一个查询中执行以下两个查询吗?
SELECT id FROM table1 WHERE time_stamp>=DATE_SUB(NOW(),INTERVAL 10 MINUTE) AND status<>200 ORDER BY time_stamp ASC LIMIT 2 "
和SELECT email FROM table2 WHERE wid='".$xy."'"
其中$xy 是从第一个选择查询中获取的 id。
我的php代码:
$dat =mysql_query("SELECT * FROM table1 WHERE time_stamp>=DATE_SUB(NOW(),INTERVAL 10 MINUTE) AND status<>200 ORDER BY time_stamp ASC LIMIT 2 ");
while($dt= mysql_fetch_assoc($dat)){
$add= mysql_query("SELECT email FROM table2 WHERE wid='".$dt['id']."'");
$result= mysql_fetch_assoc($add);
$to=$result['email'];
$subject="site down";
$message="your site is down";
$header="From:admin@gmail.com";
$retval=mail($to,$subject,$message,$header);}
我的表格如下所示:
表1:
id url status time_stamp
9 dgfgg 404 2012:09:05 13:04:56
10 gfh 404 0000:00:00 00:00:00
11 fg 200 0000:00:00 00:00:00
表2:
wid email
9 ufff@hguh
10 yfyff@hfg
11 yfyf@hg.com
谁能建议一个查询来完成这项工作,而不是像我在我的 php 代码中那样写两个??
【问题讨论】:
-
你能把第一次选择的结果贴出来吗?
-
@Mihai:它是一个 int id 9 和 10。表 2 中有相同的 id,其中还包含相应的邮件 id。我需要邮寄到该邮件 ID。
-
SELECT email FROM table2 WHERE wid IN(9,10) 可以吗?
-
@Mihai:是的,这行得通..但是当我结合两个查询时它没有用..
-
@user007 与您的错误无关,但 $subject,$message,$header 字符串分配不应该在循环之外吗?无需一次又一次地做。