php-两个mysql_fetch_array语句
作者:互联网
有什么原因为什么我不能在一个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++;
}
但是,第二个返回值数组始终返回零序列.以上代码有效吗?
非常感谢
解决方法:
变更&&到和.不,我不是在开玩笑.
&&具有更高的优先级,则=(但不是),因此
$a = foo()&& $b = bar()实际上是$a =(foo()&&($b = bar()))
标签:while-loop,fetch,mysql,php 来源: https://codeday.me/bug/20191208/2091752.html