$db = mysql_select_db("remote");
if(!$db) {
die("Unable to select database");
}
$query = "SET @cumulative_sum := 0;
SELECT timestamp,
@cumulative_sum := @cumulative_sum + value AS cumulative_sum
FROM remote.historical
WHERE timestamp>= CURDATE()";
$result = mysql_query($qry);
当我在我的HeidiSQL中使用此查询时,它输出正常...在当天运行累积,但当我将此代码复制到php文件时,Web浏览器输出:
您的SQL语法有错误;检查手册 对应于您的MySQL服务器版本,以便使用正确的语法 'SELECT timestamp,@ cum_sum:= @cumulative_sum + value AS附近 第1行的cumulative_sum F'
此代码有什么问题?
答案 0 :(得分:2)
您可以替代在子查询中声明变量,而不是执行两个语句,例如。
SELECT timestamp,
@cumulative_sum := @cumulative_sum + value AS cumulative_sum
FROM remote.historical, (SELECT @cumulative_sum := 0) b
WHERE timestamp>= CURDATE()
答案 1 :(得分:0)
出于安全原因,query()函数不允许在单个语句中进行多个查询,但您可以使用mysqli_multi_query()
执行此操作。