gpt4 book ai didi

php - 如何在php上使用SQL查询按不同字段进行大规模排序?

转载 作者:行者123 更新时间:2023-11-29 18:59:28 25 4
gpt4 key购买 nike

我显示管理具有不同字段的所有用户。管理员想要有一种
我如何在 php 上使用一个 SQL 查询来完成此操作?
我知道如何使用多个 SQL 查询来完成此操作。但这就像 1 个查询 = 1 个函数。我不知道另一种方法可以做到这一点。
也许,我可以为每个字段做按钮并进行检查,如果单击按钮,它会通过发布查询返回字段名称。然后我将 $_POST['field'] 放入 SQL 查询中,如下所示:

$db = Db::getConnection(); // Connect to database
$field = $_POST['field'];

$result = $db->query("
SELECT id
, name
, tel
, role
, friend
, date_reg
, date_log
, referral
, balance
, all_cash
, timer
, ip
, status
FROM users
WHERE role = 'user'
ORDER
BY" . $field . " DESC
");

这是个坏主意还是你有更好的方法?

最佳答案

除了需要修复的 SQL 注入(inject)之外,您应该在 PHP 中进行排序。仅当您要排序的字段已建立索引时,MySQL 排序才能正常工作。在这种情况下,我怀疑(这不会很好)所有字段都被索引。

因此,删除ORDER BY,进行查询(可以缓存!!)并使用usort来对数组进行排序!

关于php - 如何在php上使用SQL查询按不同字段进行大规模排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43977833/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com