gpt4 book ai didi

PHP MySQL ORDER BY 未按预期工作

转载 作者:行者123 更新时间:2023-11-29 11:37:09 26 4
gpt4 key购买 nike

我有一个疑问:

$team_member_result = mysql_query("SELECT * FROM teams 
WHERE team_creator LIKE '%,$player_main_id,%'
OR team_owner LIKE '%,$player_main_id,%'
OR team_leaders LIKE '%,$player_main_id,%'
OR team_captains LIKE '%,$player_main_id,%'
OR team_members LIKE '%,$player_main_id,%'
ORDER BY team_creator ASC, team_owner ASC,
team_leaders ASC, team_captains ASC,
team_members ASC");

它在一开始就起作用,但如果成员不是创建者,它就会开始无序排序,所以基本上,如果他们是成员,它会在他们成为领导者之前显示。

不知道该怎么办,

谢谢!

最佳答案

主要问题是您的表不在 Third normal form 中。因此,您尝试开发一个最终不起作用的 SQL 查询,特别是 ORDER BY 部分(除了已经提到的带逗号的 LIKE 过滤器之外)。

将表放入 3NF 中,然后您可以编写有意义的 ORDER BY 语句。

顺便说一句:不要再使用 mysql_*() 函数,它们是 deprecated 。使用PDO相反。

关于PHP MySQL ORDER BY 未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36385964/

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