0

作为此功能的一部分,我有一个查询:

function user_data($MemberID){ //pass in memberid to get info about user
        $data = array();//data to be returned
        $MemberID =(int)$MemberID;//creating int from this input

        $func_num_args = func_num_args(); //count number of arguments from user data on init.php
        $func_get_args = func_get_args();

        if ($func_num_args >1) { //if more then 1, unset the first element of array 
            unset($func_get_args[0]);

            $fields = '`' . implode('`,`', $func_get_args) . '`';   //taking array and converting to string
            $data = mysql_fetch_assoc(mysql_query("SELECT $fields FROM `member`,`oddjob` WHERE `MemberID` = $MemberID"));

                return $data;

我在用户个人资料页面中调用此函数(user_data),以便显示有关他们的一些信息。但是现在我还需要能够显示来自另一个名为oddjob.

MemberID是表中的主键memberMemberIDoddjob表中的外键。 OddJobIDoddjob表中的主键。

我需要编辑上面的查询以根据 MemberID 从两个表中提取所有字段。我试过了:

$data = mysql_fetch_assoc(mysql_query("SELECT $fields FROM `member` INNER JOIN `oddjob` ON `member.MemberID` = `oddjob.MemberID` WHERE `MemberID` = $MemberID"));

但是当我登录用户个人资料页面时,不断收到以下错误;

警告:mysql_fetch_assoc() 期望参数 1 是资源,给定的布尔值

这里的任何帮助都会很棒。谢谢。

4

2 回答 2

1

肯定有人会告诉你不要使用 mysql 函数,而是使用 mysqli 或 pdo。您的查询可能看起来像这样

select *
from   member m,
       oddjob o
where  m.MemberID = o.MemberID
and    m.MemberID = $MemberID
于 2013-04-01T14:26:09.560 回答
0

PDO 是前进的道路,选择 PDO_MYSQL - http://www.php.net/manual/en/ref.pdo-mysql.php

于 2013-04-01T14:32:19.760 回答