0

我正在使用以下命令查询数据库:

$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。我错过了什么?

4

2 回答 2

2

if(mysql_num_rows($result) == 1) 必须if(mysql_num_rows($result) >= 1)确定。

否则只有当恰好为 1if时才会为真(并进入循环) 。mysql_num_rows($result)

解决了。

于 2012-12-27T00:58:45.943 回答
0

您对会话变量的查询似乎不正确,应该是

$result = mysql_query("SELECT * FROM users WHERE country = '{$_SESSION['country']}' AND city = '{$_SESSION['city']}' ORDER BY id DESC");
于 2012-12-27T02:05:22.357 回答