我有一个查询作为此功能的一部分:
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
是member
表中的主键。
MemberID
是oddjob
表中的外键。
OddJobID
是oddjob
表中的主键。
我需要编辑上面的查询,根据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为资源,布尔值为
这里的任何帮助都会很棒。感谢。
答案 0 :(得分:1)
肯定有人会告诉你不要使用mysql函数,而是使用mysqli或pdo。您的查询可能看起来像这样
select *
from member m,
oddjob o
where m.MemberID = o.MemberID
and m.MemberID = $MemberID
答案 1 :(得分:0)
PDO是前进的方式,Go for PDO_MYSQL - http://www.php.net/manual/en/ref.pdo-mysql.php