下午好,我有一种情况,我需要在每次父循环迭代后继续将MySQL结果附加到现有结果上。我正在使用的示例如下:
while ($record = mysql_fetch_row($result,MYSQL_ASSOC)) {
$result2 = mysql_query("SELECT * FROM Products WHERE id='".$record['target']."'");
}
我希望为“ while”循环的每次迭代添加到$ result2上,以便我可以在$ result2中有一个完整的列表,以便以后处理。如何完成这项任务?
谢谢,
戴夫
最佳答案
您为什么不使用IN
方法,而不是运行未知数量的查询,这实际上会使您的应用程序变慢?然后在1个查询中获得所有结果。喜欢:
$ids = "";
while ($record = mysql_fetch_row($result,MYSQL_ASSOC)) {
if( $record['target'] )
{
$ids .= "," . $record['target']
}
else
{
$ids = $record['target'];
}
}
$result2 = mysql_query("SELECT * FROM Products WHERE id IN (".$ids.")");
现在,
$result2
包含先前$result
中的所有产品;更多信息
MySQL IN
关于mysql - 每次迭代附加到sql结果中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14988537/