【问题标题】:How can I get the MySQL fields using PHP with one query?如何通过一个查询使用 PHP 获取 MySQL 字段?
【发布时间】:2011-12-07 03:45:34
【问题描述】:

基本上,我有两个表(从 WordPress 复制):users 和 user_meta。 User_meta 有 4 列:meta_id、user_id、meta_key、meta_value。每行都有一个唯一的 meta_id,但多行可以有相同的 user_id。我想通过尽可能少的查询从用户(users.*)和与用户关联的所有元值中获取所有内容。另外,我希望能够在返回的资源上使用 mysql_fetch_object。

这是我现在使用的:

SELECT *, (SELECT role FROM usermeta WHERE user_id=ID) as role FROM users WHERE ID=1

编辑:我认为我不清楚有多个 usermeta 行具有相同的 user_id 和 meta_key。

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    加入呢?

    SELECT * FROM users 
    JOIN user_meta ON users.user_id=user_meta.user_id 
    WHERE users.user_id=1
    

    获取对象:

    $q = mysql_query('select * from users join user_meta on users.user_id=user_meta.user_id  where users.user_id=1');
    while($r = mysql_fetch_object($q))
    {
       echo $r->user_id;
       echo ...
       echo ...
    
    }
    

    【讨论】:

      【解决方案2】:

      试试:

      select u.* from users u join user_meta um on (u.user_id=um.user_id) where u.id = 1

      【讨论】:

        猜你喜欢
        • 2022-01-24
        • 1970-01-01
        • 2014-06-17
        • 2011-08-01
        • 2021-04-25
        • 2016-12-24
        • 2012-10-21
        • 2019-10-12
        • 1970-01-01
        相关资源
        最近更新 更多