Php 为什么这个查询只显示一个结果,而它应该显示2个?

Php 为什么这个查询只显示一个结果,而它应该显示2个?,php,mysqli,Php,Mysqli,num行显示2行结果,但while循环仅显示一行。 如何使用while循环显示两行 $getTheImage = $mysqli->prepare("SELECT AES_DECRYPT(USERNAME,MEM_KEY) AS USERNAME, AVATAR FROM MEMBERS WHERE DEV_ADD=AES_ENCRYPT('".$dipaddB."',MEM_KEY)"); $getTheImage->execute(); $getTheImage->bind

num行显示2行结果,但while循环仅显示一行。
如何使用while循环显示两行

$getTheImage = $mysqli->prepare("SELECT AES_DECRYPT(USERNAME,MEM_KEY) AS USERNAME, AVATAR FROM MEMBERS WHERE DEV_ADD=AES_ENCRYPT('".$dipaddB."',MEM_KEY)");
$getTheImage->execute();
$getTheImage->bind_result($username, $avatar);
$getTheImage->store_result();


echo $getTheImage->num_rows;
if($avatar == ''){$ava = 'styles/imagesio/anon_small.png';}else{$ava =  $avatar;}
while($getTheImage->fetch()){ 
$LoggedAccounts  = "<div class=\"boxHead\">Auto Login Accounts</div>";
$LoggedAccounts .= "<div class=\"resCon\"><button class=\"quickButton\" onclick=\"loggmein();\" id=\"".$username."\"><img class=\"avatQuick\" src=\"".$ava."\" alt=\"ioguy\"><div class=\"usrClass\">".$username."</div></button></div>";
}

$getTheImage->close();
$getTheImage=$mysqli->prepare(“从DEV_ADD=AES_ENCRYPT(“$dipaddB.”,MEM_KEY)”的成员中选择AES_DECRYPT(用户名,MEM_KEY)作为用户名、化身);
$getTheImage->execute();
$getTheImage->bind_结果($username,$avatar);
$getTheImage->store_result();
echo$getTheImage->num_行;
如果($avatar=''){$ava='styles/imagesio/anon_small.png';}其他{$ava=$avatar;}
而($getTheImage->fetch()){
$LoggedAccounts=“自动登录帐户”;
$LoggedAccounts.=''.$username.'';
}
$getTheImage->close();

每次迭代都会覆盖。将初始化移到
之前,同时

你还滥用了事先准备好的陈述。您应该绑定该值

$getTheImage = $mysqli->prepare("SELECT AES_DECRYPT(USERNAME,MEM_KEY) AS USERNAME, AVATAR FROM MEMBERS WHERE DEV_ADD=AES_ENCRYPT(?, MEM_KEY)");
$getTheImage->bind_param('s', $dipaddB);
$getTheImage->execute();
$getTheImage->bind_result($username, $avatar);
$getTheImage->store_result();


echo $getTheImage->num_rows;
$ava = ($avatar == '') ? 'styles/imagesio/anon_small.png' : $avatar;
$LoggedAccounts = '';
while($getTheImage->fetch()){ 
     $LoggedAccounts .= "<div class=\"boxHead\">Auto Login Accounts</div>";
     $LoggedAccounts .= "<div class=\"resCon\"><button class=\"quickButton\" onclick=\"loggmein();\" id=\"".$username."\"><img class=\"avatQuick\" src=\"".$ava."\" alt=\"ioguy\"><div class=\"usrClass\">".$username."</div></button></div>";
}
$getTheImage->close();
$getTheImage=$mysqli->prepare(“从DEV_ADD=AES_ENCRYPT(?,MEM_KEY)的成员中选择AES_DECRYPT(用户名,MEM_密钥)作为用户名、化身”);
$getTheImage->bind_参数('s',$dipaddB);
$getTheImage->execute();
$getTheImage->bind_结果($username,$avatar);
$getTheImage->store_result();
echo$getTheImage->num_行;
$ava=($avatar=='')“style/imagesio/anon_small.png':$avatar;
$LoggedAccounts='';
而($getTheImage->fetch()){
$LoggedAccounts.=“自动登录帐户”;
$LoggedAccounts.=''.$username.'';
}
$getTheImage->close();

每次迭代都会覆盖。将初始化移到
之前,同时

你还滥用了事先准备好的陈述。您应该绑定该值

$getTheImage = $mysqli->prepare("SELECT AES_DECRYPT(USERNAME,MEM_KEY) AS USERNAME, AVATAR FROM MEMBERS WHERE DEV_ADD=AES_ENCRYPT(?, MEM_KEY)");
$getTheImage->bind_param('s', $dipaddB);
$getTheImage->execute();
$getTheImage->bind_result($username, $avatar);
$getTheImage->store_result();


echo $getTheImage->num_rows;
$ava = ($avatar == '') ? 'styles/imagesio/anon_small.png' : $avatar;
$LoggedAccounts = '';
while($getTheImage->fetch()){ 
     $LoggedAccounts .= "<div class=\"boxHead\">Auto Login Accounts</div>";
     $LoggedAccounts .= "<div class=\"resCon\"><button class=\"quickButton\" onclick=\"loggmein();\" id=\"".$username."\"><img class=\"avatQuick\" src=\"".$ava."\" alt=\"ioguy\"><div class=\"usrClass\">".$username."</div></button></div>";
}
$getTheImage->close();
$getTheImage=$mysqli->prepare(“从DEV_ADD=AES_ENCRYPT(?,MEM_KEY)的成员中选择AES_DECRYPT(用户名,MEM_密钥)作为用户名、化身”);
$getTheImage->bind_参数('s',$dipaddB);
$getTheImage->execute();
$getTheImage->bind_结果($username,$avatar);
$getTheImage->store_result();
echo$getTheImage->num_行;
$ava=($avatar=='')“style/imagesio/anon_small.png':$avatar;
$LoggedAccounts='';
而($getTheImage->fetch()){
$LoggedAccounts.=“自动登录帐户”;
$LoggedAccounts.=''.$username.'';
}
$getTheImage->close();

$LoggedAccounts将在每次执行循环时被覆盖。试试这个

while($getTheImage->fetch()){ 
    $LoggedAccounts .= "<div class=\"boxHead\">Auto Login Accounts</div>";
    $LoggedAccounts .= "<div class=\"resCon\"><button class=\"quickButton\" onclick=\"loggmein();\" id=\"".$username."\"><img class=\"avatQuick\" src=\"".$ava."\" alt=\"ioguy\"><div class=\"usrClass\">".$username."</div></button></div>";
}
while($getTheImage->fetch()){
$LoggedAccounts.=“自动登录帐户”;
$LoggedAccounts.=''.$username.'';
}

$LoggedAccounts将在每次执行循环时被覆盖。试试这个

while($getTheImage->fetch()){ 
    $LoggedAccounts .= "<div class=\"boxHead\">Auto Login Accounts</div>";
    $LoggedAccounts .= "<div class=\"resCon\"><button class=\"quickButton\" onclick=\"loggmein();\" id=\"".$username."\"><img class=\"avatQuick\" src=\"".$ava."\" alt=\"ioguy\"><div class=\"usrClass\">".$username."</div></button></div>";
}
while($getTheImage->fetch()){
$LoggedAccounts.=“自动登录帐户”;
$LoggedAccounts.=''.$username.'';
}

我添加了三元组来代替条件。你甚至可以使用这个查询,让返回的只是头像或默认值<代码>选择AES_DECRYPT(用户名,MEM_密钥)作为用户名,从DEV_ADD=AES_ENCRYPT(?,MEM_密钥)未经测试的成员中合并(NULLIF(AVATAR),“style/imagesio/anon_small.png”)作为化身。然后您只需执行
$getTheImage->bind_result($username,$ava)我添加了三元来代替条件。你甚至可以使用这个查询,让返回的只是头像或默认值<代码>选择AES_DECRYPT(用户名,MEM_密钥)作为用户名,从DEV_ADD=AES_ENCRYPT(?,MEM_密钥)
未经测试的成员中合并(NULLIF(AVATAR),“style/imagesio/anon_small.png”)作为化身。然后您只需执行
$getTheImage->bind_result($username,$ava)
$LoggedAccounts
仍需初始化,否则将引发通知。
$LoggedAccounts
仍需初始化,否则将引发通知。