我正在使用此命令查询数据库:
$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>';
}
}
如果表中只有一行,则返回True(有效)。如果我添加另一个,它返回False。我错过了什么?
答案 0 :(得分:2)
if(mysql_num_rows($result) == 1)
肯定是if(mysql_num_rows($result) >= 1)
。
否则当if
正好为1时,mysql_num_rows($result)
只会为真(并且输入循环)。
解决。
答案 1 :(得分:0)
使用会话变量的查询似乎不正确,应该是
$result = mysql_query("SELECT * FROM users WHERE country = '{$_SESSION['country']}' AND city = '{$_SESSION['city']}' ORDER BY id DESC");