在 PHP 8.2 中是否可以将 num_rows 与 fetch_all() 组合成单个执行查询? [重复]

问题描述 投票:0回答:1

我正在使用 PHP 8.2 中新的 mysqli::execute_query 并希望获取客户下的订单总数以及订单数组。

简化代码:

$MySQLi = new mysqli( "host", "username", "password", "database");

$sql = "select * from orders WHERE userid = ? ";

$ordercount = $MySQLi->execute_query($sql, [$userid])->num_rows;
$orderdata = $MySQLi->execute_query($sql, [$userid])->fetch_all(MYSQLI_ASSOC);

可以只用一个execute_query来完成吗?

php mysqli
1个回答
1
投票

感谢 Progman 和 Your Common Sense,都是非常有用的评论。

我最终采用的答案是:

$sql = "select * from orders WHERE userid= ? ORDER BY orderid DESC";
$orderdata = $MySQLi->execute_query($sql, [$userid])->fetch_all(MYSQLI_ASSOC);
$ordercount = count($orderdata);

我相信这是最简单的方法。

© www.soinside.com 2019 - 2024. All rights reserved.