0
我知道有一种方法可以使用JOIN
来组合这三个查询,但我无法将它包裹在头上。如何基于另一个查询结果集执行MySQLi查询?
我在做什么是首先检索MessageID
和SubscriberID
。基于关闭这些结果,我搜集的信息数据和数据用户:
$queued = $db->select("SELECT MessageID, SubscriberID FROM mailing_queue WHERE Paused = 0 ORDER BY StartDate ASC LIMIT 500");
if (!empty($queued)) { // if $queued exists
$i = 0;
foreach ($queued as $key => $value) {
$msg = $db->selectRow("SELECT Subject, Body FROM mailing_messages WHERE ID = '$value[MessageID]' LIMIT 1"); // Returns single row
if ($msg) { // If $msg exists
$to = $db->selectRow("SELECT Email, FirstName, LastName, History FROM mailing_subscribers WHERE ID = '$value[SubscriberID]' LIMIT 1"); // Returns single row
if ($to) { // If $to exists
// Send email & do other stuff
}
}
}
}
基本上,我试图让Subject
,Body
,Email
,FirstName
,LastName
和History
都在同一个查询,如果可能的。
我知道必须有一个更有效的方法来做到这一点。
这看起来great-正是我试图做的,但我没有得到任何结果在返回时应该有...... – JROB
你得到一个错误,或者你得到一个空结果? –
我发现它......'ORDER BY mailing_queue.StartDate'。 +1感谢您的帮助! – JROB