我正在尝试嵌套两个while循环和一个if语句。
$Query = "SELECT * from lijst";
$Query2 = "SELECT * from users";
$Result = mysql_query( $Query );
$Result2 = mysql_query( $Query2 );
$Return = "<lijst>";
while ( $Lijst = mysql_fetch_object( $Result ))
{
$Return .= "<lijst>";
while ($Users = mysql_fetch_object( $Result2 ))
{
if($Lijst['userid'] == $Users['userid'])
{
$Return .= "<username>".$Users->username."</username>";
}
}
$Return .= "<lijstid>".$Lijst->lijstid."</lijstid>";
$Return .= "</lijst>";
}
$Return .= "</lijst>";
mysql_free_result($Result);
mysql_free_result($Result2);
print ($Return)但是,我没有得到任何结果。我做错了什么?
发布于 2013-01-03 22:27:59
在调用mysql_fetch_object()时,应该以对象而不是数组的形式访问数据
if($Lijst['userid'] == $Users['userid'])应该变成:
if($Lijst->userid == $Users->userid)发布于 2013-01-03 22:26:29
你有两个打字错误。
while ( $Users = mysql_fetch_object( $Result2 ) ) { if($Lijst['userid'] == $Users['userid') {应该是:
while ( $Users = mysql_fetch_object( $Result2 ) ) { if($Lijst['userid'] == $Users['userid']) {和
print ($return)错过末尾的分栏
print ($return);除此之外,你的代码看起来有点凌乱。以下代码不会执行任何操作:
$Return .= "";下面是相同的代码,但没有乱七八糟的(变量名中有大写字母)。这使得编写代码和帮助您的人变得更容易。
$query = "SELECT * from lijst";
$query2 = "SELECT * from users";
$result = mysql_query($query);
$result2 = mysql_query($query2);
$return = "";
while ($lijst = mysql_fetch_object($result)) {
while ($users = mysql_fetch_object($result2)) {
if ($lijst['userid'] == $users['userid']) {
$return .= $users->username;
}
}
$return .= "<lijstid>".$lijst->lijstid."</lijstid>";
}
mysql_free_result($result);
mysql_free_result($result2);
print ($return);https://stackoverflow.com/questions/14140719
复制相似问题