Php 循环仅在返回一行时有效
我正在使用以下命令查询数据库:Php 循环仅在返回一行时有效,php,loops,Php,Loops,我正在使用以下命令查询数据库: $result = mysql_query("SELECT * FROM users WHERE country = '$_SESSION[country]' AND city = '$_SESSION[city]' ORDER BY id DESC"); if(mysql_num_rows($result) == 1) { while($row = mysql_fetch_array($result)) { echo "OK"; $n = 1
$result = mysql_query("SELECT * FROM users WHERE country = '$_SESSION[country]' AND city = '$_SESSION[city]' ORDER BY id DESC");
if(mysql_num_rows($result) == 1) {
while($row = mysql_fetch_array($result)) {
echo "OK";
$n = 1;
echo '<div class="control-group">
<div class="controls">
<label class="checkbox">
<input type="checkbox" name="users" value="'.$row['id'].'" onclick="\'chkcontrol('.$n++.')\';">'.$row['name'].'
</label>
</div>
</div>';
}
}
$result=mysql\u query(“从用户中选择*,其中country='$'会话[country]”和city='$'会话[city]'按id顺序描述”);
if(mysql_num_rows($result)==1){
while($row=mysql\u fetch\u数组($result)){
回音“OK”;
$n=1;
回声'
“.$row['name']”
';
}
}
如果表中只有一行,则返回True(有效)。如果我再添加一个,它将返回False。我缺少什么?如果(mysql\u num\u rows($result)==1)
必须是如果(mysql\u num\u rows($result)>=1)
否则,if
仅在mysql\u num\u rows($result)
正好为1时才为true(并输入循环)
已解决。您对会话变量的查询似乎不正确,应该正确
$result = mysql_query("SELECT * FROM users WHERE country = '{$_SESSION['country']}' AND city = '{$_SESSION['city']}' ORDER BY id DESC");
. 它们不再得到维护。看到了吗?相反,学习,并使用or-将帮助您决定哪一个。如果您选择PDO,。或者只是If(mysql_num_rows($result)){
真的。