-3
<?php

$sql_apr = " SELECT SUM ( meter * minute ) FROM table";
$rs_apr = @mysql_query($sql_apr);
$total_apr = @mysql_fetch_array($rs_apr);
$try4 = $total_apr['SUM(meter * minute'];

while ($rs_t = @mysql_fetch_array($rs_t)) {
    $minute = '';

    $sql_t = "SELECT DATEDIFF(MINUTE,'e_date e_time','s_date s_time') AS minute";
    $rs_t = @mysql_query($sql_t);
    $minute = $rs_t['minute'];
}

?>

4

2 回答 2

1

您正在查看错误的结果:

$rs_t=@mysql_query($sql_t);
$minute = $total_t['minute'];

应该

$rs_t=@mysql_query($sql_t);
$minute = $rs_t['minute'];
//         ^ use the rs_t result, not the result from the first query

你也是你正在循环的变量的结果。我非常怀疑这个while循环是否会结束。您正在循环结果$rs_t,然后$rs_t在循环内重新分配。

于 2013-07-13T03:02:37.263 回答
0

你为什么不按正确的顺序做这个

$query = "SELECT DATEDIFF(MINUTE,'e_date e_time','s_date s_time') AS minute";
$results = @mysql_query($query);
$row = @mysql_fetch_array($results);
$minute = $row['minute'];

print_r($minute);

$sql_apr = " SELECT SUM ( meter * " . $minute . " ) AS my_sum FROM table";
$rs_apr = @mysql_query($sql_apr);
$total_apr = @mysql_fetch_array($rs_apr);
$try4 = $total_apr['my_sum']; 

while在运行查询之前,您尝试获取结果 (in )。

编辑:

$query = "SELECT TIMESTAMPDIFF(MINUTE,'s_date s_time','e_date e_time') AS minute";
于 2013-07-13T03:25:21.183 回答