Php 中的两个mysql\u fetch\u数组语句

Php 中的两个mysql\u fetch\u数组语句,php,mysql,while-loop,fetch,Php,Mysql,While Loop,Fetch,有什么原因不能在一个while循环中包含两个处理两个不同mysql查询结果的mysql\u fetch\u数组语句 原因是我有两个来自mysql数据库的查询结果,每个查询结果包含以下两列: Query 1: Date, Value 1 Query 2: Date, Value 2 $ReturnDate = array(); $ReturnValue1 = array(); $ReturnValue2 = array(); $i=0; whi

有什么原因不能在一个while循环中包含两个处理两个不同mysql查询结果的mysql\u fetch\u数组语句

原因是我有两个来自mysql数据库的查询结果,每个查询结果包含以下两列:

Query 1: Date,     Value 1                 
Query 2: Date,     Value 2
$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++;
}
每个查询中的日期始终是以1周为固定间隔的结束日期,按升序排列。但是,对于任一查询结果,它们可能在不同的日期开始和结束

我想构建数组,仅当值1和2在同一时期内都可用时,才返回到日期、值1和值2的调用网页

我已经包括了一个if/else块,它比较每个查询中的第一个日期,并使用mysql_data_seek设置一个指针,其中任何一个结果集都有最早的开始日期,以确保它提前到与另一个记录集中的第一个可用日期对应的日期

由于最后一个可用日期也可能不同,我认为为了确保要返回的数组都具有相同的长度(因此将具有较新数据的结果截断为另一个结果的最后一个可用日期),我认为可以如下迭代两个查询结果:

Query 1: Date,     Value 1                 
Query 2: Date,     Value 2
$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++;
}
但是,第二个返回值数组始终返回一个零序列。上述代码有效吗


非常感谢

和&
更改为
。不,我不是开玩笑

&
的优先级高于
=
(但是
没有)所以


$a=foo()&&$b=bar()
实际上是
$a=(foo()&&($b=bar())

查询1和查询2可能有两个不同的行数?或者它们必须有相同的行数?列日期是否必须是周末的日期?这样一周(星期一?星期天)的结束是什么。如果说列日期表示从(日期-6)开始到(日期)的一周时间段,正确吗?是-任一查询表示一系列数据,涵盖不同的时间跨度,但在某些点上必然重叠。是-列日期包含一系列日期,所有这些日期都是一周结束日期,对于这两个问题,都是星期天23:59。但是,每个查询的记录跨越不同的周数。该值表示截至该日期的一周内的消耗量。对@Emmerman,这实际上是@nortyrich代码中的一个错误。然而,在我看来,该修复程序不足以执行您期望的任务。使用@Emmerman修复程序,代码仍然无法正确处理返回不同记录数的查询,或者返回不在同一行号中的相同周数的查询。这个错误让我疯狂了好几个小时。我不知道
&&
有不同的优先级,所以感谢埃默曼告诉我这一点。当时我的解决方案是添加括号:
if($a=foo())&&($b=bar()){…}