php - 如何在 PHP 函数中的查询中声明变量

标签 php mysql variables

我已经为这个查询苦苦挣扎了几天。 我认为这真的很简单,但我看不出我做错了什么。

我正在使用一个“functions.php”文件,我在其中保存了我所有的查询,每个查询都在其自己的 PHP 函数中,例如:

$query ='
    SELECT *
    FROM Table
';

我现在希望能够在我的查询中使用变量,在查询中自行声明它们。像这样的东西:

$query ='
    SET @myvar := 0
    SELECT ID, @myvar := @myvar + SomeRow AS Result
    FROM Table
';

我一直在 SO 中进行谷歌搜索和搜索,找到了很多解决方案,但无法使它们中的任何一个起作用……我肯定遗漏了一些东西。

欢迎任何建议...

谢谢

最佳答案

那是两个问题(查询)。所以你必须把它分开。

$query ='
    SET @myvar := 0;
    SELECT ID, @myvar := @myvar + SomeRow AS Result
    FROM Table;
';

或者你这样初始化它

$query ='
    SELECT ID, @myvar := @myvar + SomeRow AS Result
    FROM Table, (SELECT @myvar := 0) AS init
';

样本

MariaDB [test]> select id, order_ID from orders limit 10;
+-----+----------+
| id  | order_ID |
+-----+----------+
| 632 |      111 |
| 633 |      111 |
| 634 |      111 |
| 635 |      112 |
| 636 |      113 |
| 637 |      113 |
| 638 |      113 |
| 639 |      113 |
| 640 |      113 |
| 641 |      113 |
+-----+----------+
10 rows in set (0.00 sec)

MariaDB [test]> SELECT id, @myvar := @myvar + order_ID
    -> FROM orders, (SELECT @myvar := 0) AS init LIMIT 10;
+-----+-----------------------------+
| id  | @myvar := @myvar + order_ID |
+-----+-----------------------------+
| 632 |                         111 |
| 633 |                         222 |
| 634 |                         333 |
| 635 |                         445 |
| 636 |                         558 |
| 637 |                         671 |
| 638 |                         784 |
| 639 |                         897 |
| 640 |                        1010 |
| 641 |                        1123 |
+-----+-----------------------------+
10 rows in set (0.00 sec)

关于php - 如何在 PHP 函数中的查询中声明变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34979986/

相关文章:

javascript - 如何在 href 中使用 JavaScript 变量?

php - 具有属性 php 的 xml 节点上的解析错误

php - 在一页上查询两个不同的数据库是不好的做法吗?

mysql - 从 .sql 文件顺序调用存储过程

python - Django queryset 对象返回 None 而不是 0,即使数据库将 0 存储为字段值

python - 是什么导致这个变量在赋值之前引用错误?

php - 如何对 HHVM 进行日志轮换

php - 设置 <?和 <?php

php - 使用 PHP 代码仅显示数据库中列的某些值

swift - 如何在 SKScene 中使用另一个变量初始化一个变量