php根据另一个表中的数据从1个表中获取数据

时间:2014-07-14 21:17:13

标签: php mysql

我想获取存储在“客户”表中的公寓所有者的详细信息(姓名和电子邮件),具体取决于所选择的公寓,其详细信息存储在“appmt_user”表中。 我有以下公共职能,我无法开展工作。

public function getOwnerdetails($appmt_id){
    $ownerid = mysql_query("select user_id from  appmt_user where appmt_id=".$appmt_id);

    $ownerdetails = mysql_query("select first_name , surname , email from  clients  where client_id=".$ownerid);
    return $ownerdetails;
}

当我执行print_r时,变量$ ownerid接缝为空,因此$ ownerdetails中不返回任何数据。 我需要先在某处保存$ ownerid吗?

1 个答案:

答案 0 :(得分:0)

首先,将两个查询与JOIN合并。其次,您需要使用mysql_fetch_assoc从查询中获取一行结果 - mysql_query()只返回资源,而不是您选择的值。

public function getOwnerdetails($appmt_id) {
    $appmt_id = intval($appmt_id); // Sanitize input
    $results = mysql_query("SELECT c.first_name, c.surname, c.email
                            FROM clients AS c
                            JOIN appmt_user AS a ON c.clients_id = a.user_id
                            WHERE a.appmt_id = $appmt_id");
    $ownerdetails = mysql_fetch_assoc($results);
    return $ownerdetails;
}