是否有任何原因导致我无法在一个 while 循环中包含两个处理两个不同 mysql 查询结果的 mysql_fetch_array 语句?
原因是我有两个来自 mysql 数据库的查询结果,每个结果包含两列,如下所示:
Query 1: Date, Value 1
Query 2: Date, Value 2
每个查询中的日期始终是按 1 周的固定间隔按升序排列的周结束日期。然而,对于任一查询结果,它们可能在不同的日期开始和结束。
我想构建数组以返回到日期、值 1 和值 2 的调用网页,仅当值 1 和 2 在同一时期都可用时。
我包含了一个 if / else 块,该块比较每个查询中的第一个日期,并使用 mysql_data_seek 设置一个指针,为哪个结果集具有最早的开始日期,以确保它提前到与其他记录中的第一个可用日期相对应的日期放。
因为最后一个可用日期也可能不同,我认为为了确保要返回的数组具有相同的长度(因此将哪个结果的数据更新到另一个结果的最后一个可用日期),我认为我可以迭代两个查询结果,如下所示:
$ReturnDate = array();
$ReturnValue1 = array();
$ReturnValue2 = array();
$i=0;
while ($row1=mysql_fetch_array($res_Query1,MYSQL_NUM) && $row2=mysql_fetch_array($res_Query2,MYSQL_NUM)) {
$ReturnDate[$i]= $row1[0];
$ReturnValue1[$i] = (float)$row1[1];
$ReturnValue2[$i] = (float)$row2[1];
$i++;
}
但是,第二个返回值数组始终返回零序列。上述代码有效吗?
非常感谢