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>';
  }
}

テーブルに行が1つしかない場合は、True(動作)を返します。別のものを追加すると、Falseが返されます。私は何が欠けていますか?

4

2 に答える 2

2

if(mysql_num_rows($result) == 1) 確かでなければなりif(mysql_num_rows($result) >= 1)ません。

それ以外の場合、は正確に1のif場合にのみ真になります(そしてループに入ります) 。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 に答える