为什么我不能在一个 while 循环中包含两个 mysql_fetch_array 语句来处理两个不同的 mysql 查询结果?
原因是我有两个来自 mysql 数据库的查询结果,每个查询结果包含如下两列:
Query 1: Date, Value 1
Query 2: Date, Value 2
每个查询中的日期始终是周结束日期,以 1 周的固定间隔按升序排列。但是,对于任一查询结果,它们可能在不同的日期开始和结束。
我想构建数组以返回日期、值 1 和值 2 的调用网页,仅当值 1 和 2 在同一时期内可用时。
我已经包含了一个 if/else block ,它比较每个查询中的第一个日期,并使用 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++;
}
然而,第二个返回值数组总是返回一个零序列。上面的代码有效吗?
非常感谢
最佳答案
将&&
改为and
。不,我不是在开玩笑。
&&
比 =
有更高的优先级(但 and
不是)所以
$a = foo() && $b = bar()
实际上是 $a = (foo() && ($b = bar()))
关于php - 中的两个 mysql_fetch_array 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5801087/