$result = mysql_query("SELECT indvsum.sum1 + indvsum.sum2
FROM (SELECT SUM(Cash) AS sum1,
SUM(Bank) AS sum2
FROM players) indvsum");
echo $result;
出于某种原因,这将返回资源 ID #4。
如何获得 sum1 + sum2 返回的结果?
这是预期的行为。
请查看手册以获取有关如何获取行的示例:
这是签名:
resource mysql_query ( string $query [, resource $link_identifier = NULL ] )
为了获取您应该使用的行
或者
例如。
因为那是 mysql_query 函数的标准输出。它返回与该查询相关的标识符。要获取选定的行,请使用 mysql_fetch_array($result) 或 mysql_fetch_row($result)
资源 id #4 被返回,因为$result
它是一个数组。
举个例子:
$q_example = "SELECT indvsum.sum1 + indvsum.sum2 AS `aSUM`
FROM (SELECT SUM(Cash) AS sum1, SUM(Bank) AS sum2 FROM players) indvsum";
$rsexample = mysql_query($q_example, $DB) or die(mysql_error());
$row_rsexample = mysql_fetch_assoc($rsexample);
echo $row_rsexample['aSUM'];
...应该得到你正在寻找的东西。
你为什么不做
SELECT SUM(Cash) AS sum1,
SUM(Bank) AS sum2
FROM players;
在 php 中分配这两个值,然后添加它们。
或者
利用mysql_fetch_row
利用mysql_fetch_array
$result = mysql_query("SELECT indvsum.sum1 + indvsum.sum2
FROM (SELECT SUM(Cash) AS sum1,
SUM(Bank) AS sum2
FROM players) indvsum");
$arr = mysql_fetch_array($result);
print_r($arr); // echo $result;
$values = mysql_fetch_array($result);
var_dump($values);