这是我的代码:
include('connectTwo.html');
$query = "select * from users";
$result = mysql_query($query, $connectTwo);
while($row = mysql_fetch_array($result))
{
echo $row['username'];
$user_id = $row['user_id'];
$profile = getProfile($user_id);
echo $profile;
}
function getProfile($user_id)
{
$query = "select * from info where user_id='$user_id'";
$result = mysql_query($query, $connectTwo);
$row = mysql_fetch_assoc($result);
$profile = $row['profile'];
return $profile;
}
该功能不会返回任何内容。我知道查询是正确的,因为我将它移到函数外部并运行并给出了我正在寻找的值。如果您对我的要求感到困惑,请发表评论。
答案 0 :(得分:3)
尝试左连接:
$query = "select a.*,b.profile from users a left join info b on b.user_id=a.user_id";
然后您可以删除getProfile()
功能。
如果您仍想在其中使用function getProfile($user_id)
,global $connectTwo
,否则您无法使用它,因为它未定义。
答案 1 :(得分:1)
您可以尝试两种方法:
将数据库连接字符串作为参数传递给function getProfile()
赞:getProfile($user_id, $connectTwo);
或者您可以使用global
关键字来使用函数getProfile()中的连接字符串
function getProfile($user_id) {
global $connectTwo;
但最重要的是@zairwolf在上一个答案中指出了更好的方法。
注意:尝试使用mysqli_ *或pdo *函数而不是mysql_ * 功能