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 結果リソースではありません。

4

2 に答える 2

0

次の 2 つの呼び出しを使用します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 に答える
0

では複数のクエリを使用できないためmysql_query()、両方のクエリを 1 つのクエリに組み合わせることができます。

このクエリを試してください..

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 に答える