SELECT 计数与 meekrodb 未捕获的 MeekroDBException
SELECT COUNT with meekrodb Uncaught MeekroDBException
我想从关联的 idnr 中计算 table 中的 nums 数量。
但是,我收到以下错误消息:
致命错误:未捕获的 MeekroDBException:如果您使用命名参数,则必须传递参数的关联数组!
table 看起来像这样:
+---------+---------+-----------------------+
| idnr | nums | timestamp |
+---------+---------+-----------------------+
| 1234 | 75 | 2021-10-19 11:59:22 |
| 1234 | 73 | 2021-11-09 11:59:22 |
| 1234 | 43 | 2020-07-19 12:59:22 |
| 4565 | 31 | 2021-11-19 13:59:22 |
+---------+---------+-----------------------+
SQL字符串:
$results = DB::query("SELECT COUNT(nums) FROM tablename WHERE idnr = %i_idnr", '1234');
我想这样展示:
echo $results['nums']; // the result should be 148
非常感谢 ;)
好吧,你的错误描述本身。
You can pass an array of named parameters and access them by name.
示例代码:
DB::query("SELECT * FROM tbl WHERE name=%s_name AND age > %i_age AND height <= %d_height",
[
'name' => $name,
'age' => 15,
'height' => 13.75
]
);
所以在你的情况下会是:
$results = DB:: queryFirstRow(
"SELECT SUM(nums) as nums_sum FROM tablename WHERE idnr = %i_idnr",
['idnr' => '1234']
);
echo $results['nums_sum'];
更多注意事项:
- 您应该使用 SUM(),否则您将只计算行数
- 由于它是一个总 returns 一行的聚合查询,因此请使用 queryFirstRow 而不是 query
- 你应该为 SUM(nums) 定义一个别名,这样从结果数组中检索数据会更容易。
我想从关联的 idnr 中计算 table 中的 nums 数量。 但是,我收到以下错误消息: 致命错误:未捕获的 MeekroDBException:如果您使用命名参数,则必须传递参数的关联数组!
table 看起来像这样:
+---------+---------+-----------------------+
| idnr | nums | timestamp |
+---------+---------+-----------------------+
| 1234 | 75 | 2021-10-19 11:59:22 |
| 1234 | 73 | 2021-11-09 11:59:22 |
| 1234 | 43 | 2020-07-19 12:59:22 |
| 4565 | 31 | 2021-11-19 13:59:22 |
+---------+---------+-----------------------+
SQL字符串:
$results = DB::query("SELECT COUNT(nums) FROM tablename WHERE idnr = %i_idnr", '1234');
我想这样展示:
echo $results['nums']; // the result should be 148
非常感谢 ;)
好吧,你的错误描述本身。
You can pass an array of named parameters and access them by name.
示例代码:
DB::query("SELECT * FROM tbl WHERE name=%s_name AND age > %i_age AND height <= %d_height",
[
'name' => $name,
'age' => 15,
'height' => 13.75
]
);
所以在你的情况下会是:
$results = DB:: queryFirstRow(
"SELECT SUM(nums) as nums_sum FROM tablename WHERE idnr = %i_idnr",
['idnr' => '1234']
);
echo $results['nums_sum'];
更多注意事项:
- 您应该使用 SUM(),否则您将只计算行数
- 由于它是一个总 returns 一行的聚合查询,因此请使用 queryFirstRow 而不是 query
- 你应该为 SUM(nums) 定义一个别名,这样从结果数组中检索数据会更容易。