这个问题的解决方案可能是我的一个简单的忽略。
我正在尝试运行一个在PHP中存储为字符串的MYSQL查询。使用Navicat等DBM工具可以很好地运行查询,但在我的PHP开发环境中会返回false。我是不是漏掉了什么?
SET @running_sum = 0;
SELECT
TID,
SumTotal,
T.`Freight`,
T.`Insurance`,
T.`Discount`,
CONCAT(
'$',
FORMAT(
@running_sum :=@running_sum + SumTotal + T.`Freight` + T.`Insurance` - T.`Discount`,
2
)
) AS 'Running Total'
FROM
(
SELECT
TID,
SUM(Quantity * UnitNetValue) AS SumTotal,
T.`Freight`,
T.`Insurance`,
T.`Discount`
FROM
Transactions T
JOIN `Transactions_Products` P ON T.TransactionID = P.TID
WHERE
(
T.TemplateName = ''
OR T.TemplateName IS NULL
)
AND T. STATUS = 1
GROUP BY
TransactionID
) AS T;我像这样执行查询;
$result = mysql_query($this->query);$this->query是包含上述查询的字符串,正如上面显示给您的那样。
发布于 2013-01-24 02:51:02
发布于 2015-11-23 17:24:04
也可以使用multi_query方法代替MySQLi的query:
$query = "SET @running_sum = 0; SELECT ...";
$db_link->multi_query($query);发布于 2013-01-24 02:47:28
像这样放入变量。我想它应该能行得通。
mysql_query("SELECT @i:=0");
mysql_query("UPDATE table_name SET id = @i:=@i+1");https://stackoverflow.com/questions/14486878
复制相似问题