php - 中的两个 mysql_fetch_array 语句

标签 php mysql while-loop fetch

为什么我不能在一个 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/

相关文章:

php - 第二个 while 循环没有运行。为什么?

php - 通过 PHP 运行两个 linux 命令,在执行第二个之前不要等待第一个结束

mysql - 即使主查询不返回任何行,如何获取子查询的结果?

php - 如何在 Dreamweaver 中设置 PHP 测试服务器?

mysql - Algolia 记录正在更新错误的数据类型

Java:局部变量可能尚未初始化?

python - 在 while 循环中遇到问题,它会中断,即使它不应该

Java 注册表类?

php mysql 图片显示不正确

php - 如何将产品添加到购物车并附加数量。