1

我有这个查询:

$result2 = mysql_query("SET @total=0;
SELECT *,
@total:= @total+ `companyearned` AS `total`
FROM `recordedhours` WHERE `group` = '$uid'
ORDER BY `unixdate` DESC, `idnum` DESC
LIMIT $from, $max_results");

while ($rowb = mysql_fetch_array($result2)) {
//DO STUFF
}

但是 SET @total=0; 使while行给我一个错误:警告:mysql_fetch_array():提供的参数不是有效的MySQL结果资源查询在phpmyadmin中工作正常,而没有SET @total = 0的while工作正常;

4

2 回答 2

0

由于您不能在 中使用多个查询mysql_query(),但您可以将两个查询合并为一个。

试试这个查询..

SELECT *,
@total:= @total+ `companyearned` AS `total`
FROM `recordedhours`, (SELECT @total:=0) r WHERE `group` = '$uid'
ORDER BY `unixdate` DESC, `idnum` DESC
LIMIT $from, $max_results
于 2013-04-21T06:11:50.070 回答
0

使用两个调用mysql_query()

mysql_query("SET @total=0");

$result2 = mysql_query("SELECT *,
@total:= @total+ `companyearned` AS `total`
FROM `recordedhours` WHERE `group` = '$uid'
ORDER BY `unixdate` DESC, `idnum` DESC
LIMIT $from, $max_results");

我认为该变量应该保持不变,因为它是相同的数据库连接。

于 2013-04-21T06:16:02.893 回答