0

次のコードがあります。

while ($var1 == $var2)
{
    $sql = “SELECT disabled FROM MYTABLE WHERE VAR2=’$var2’”;
    $r = mysql_query($sql);
    while ($row = mysql_fetch_assoc($r)) 
    {
        // do something
    }
}

私の問題は、$sql が 10 行を取得することです。そのうちの 4 行にはデータがあり、残りは空です。

最初の行は空なので、2 番目の while は入力されません。

入力が必要なのですが、どうすればいいですか?

サンプル コードでは MySQL を使用していますが、TSQL も使用できます。

どうもありがとう

4

2 に答える 2

0

最初に合計行を確認できます。

while (mysql_num_rows($r) > 0 && $row = mysql_fetch_assoc($r)) 
{
    // do something
}

申し訳ありませんが、うまくいきません。以下を試してください。

if(mysql_num_rows($r) > 0 ) {
    while ($row = mysql_fetch_assoc($r)) 
    {
       // do something
    }
}
于 2012-10-22T16:21:42.707 に答える
0

「mysql_query」の結果が何もないときに問題が発生した場合は、条件を入力してください。

$result = mysql_query($SQL);
while ($result && $row = mysql_fetch_array($result)) {
  // do something
}

マニュアルには... mysql-fetch-assoc 「この拡張機能の使用はお勧めできません」と書かれています

于 2012-10-22T16:10:44.870 に答える