gpt4 book ai didi

php - 如何用数组查询mysql数据

转载 作者:行者123 更新时间:2023-11-29 00:52:56 24 4
gpt4 key购买 nike

我有 2 个表 colorcodeusers

颜色代码

ID colorid  colorname
------------------------
1 1 yellow
2 2 black
3 3 red
4 4 white

用户

ID userid  colorid
------------------------
1 1 1,2
2 2 3,4
3 3 1,3,4
4 4 1

如何检索和查询个人 colorid

$aa = $db->query("SELECT * FROM colorcode"); 
$colors = array();
while ($colordata = mysql_fetch_assoc($aa)) {
$colors[] = $colordata["colorid"];
}

假设我想查询哪些用户有yellow 颜色以及我应该为users 使用什么语句

SELECT .. FROM users
WHERE colorid ....

最佳答案

这是一个糟糕的设计...因为您试图访问用户表中的各个 color_id,但已将它们存储为逗号分隔的列表,您无法让数据库为您执行正常的连接 - 您通过使数据库无法为您进行关联,我们已经扼杀了使用关系数据库的要点。

但是,由于您使用的是 mysql,所以您很幸运 - mysql 具有适用于这种情况的函数:

SELECT users.ID, userid, GROUP_CONCAT(colorcode.colorname)
FROM users
LEFT JOIN colorcode ON FIND_IN_SET(colorcode.ID, users.colorid)
GROUP BY users.id

关于php - 如何用数组查询mysql数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7560555/

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