4

mysql_fetch_array()関数が空の配列を返すかどうかを確認しようとしています。しかし、私のコードは機能していないようです。ここでは、配列が空の場合に、作成中のメッセージを表示したいことを確認したいと思います。

コード:

$queryContents= queryMembers();
$exeQuery = mysql_query($queryContents);
while($fetchSet = mysql_fetch_array($exeQuery)) {
   if(count($fetchSet) == 0) {
     echo "This Page is Under Construction";
   }else{
     // something else to display the content
   }
}

そのような機能を実現するためにどのように確認しますか?

4

6 に答える 6

14

mysql_num_rowsを使用して行数をカウントします。これを試して。

$exeQuery = mysql_query($queryContents);

if(mysql_num_rows($exeQuery)== 0){
   echo "This Page is Under Construction";
}
else{
   while($fetchSet = mysql_fetch_array($exeQuery)) {

     // something else to display the content

   }
}
于 2012-08-03T06:49:17.043 に答える
5

あなたは本当にmysql_num_rows http://us2.php.net/manual/en/function.mysql-num-rows.phpを使用する必要があります

ただし、補足として、empty()代わりにphpを使用する必要があります。http://us2.php.net/empty

于 2012-08-03T06:49:18.727 に答える
4

mysql_fetch_array()を使用すると、whileループを使用するときに、データセットから行が1つずつ返されます。

レコードがない場合、whileループは実行されません。この場合、ブール変数を宣言し、whileループに入った場合はtrueにします。好き:

$queryContents= queryMembers();
$exeQuery = mysql_query($queryContents);
$recordExists = 0;
while($fetchSet = mysql_fetch_array($exeQuery)) {
     if($recordExists == 0 )
       $recordExists = 1;
     // something else to display the content

}

if($recordExists == 0 ){
    echo "This Page is Under Construction";
}

これがうまくいくことを願っています!

于 2012-08-03T06:53:17.433 に答える
1

あなたはこのようにそれを行うことができます:

while($r[]=mysql_fetch_array($sql));
// now $r has all the results
if(empty($r)){
  // do something
}

ソース:php doc

于 2012-08-03T06:52:18.013 に答える
0

結果がない場合、whileループ内のコードは実行されません。結果がなくなると、mysql_fetch_arrayはnull/falseを返します。あなたがする必要があるのは、しばらく前に、最初にmysql_num_rowsをチェックすることです。

$queryContents= queryMembers();
$exeQuery = mysql_query($queryContents);

 if(mysql_num_rows ($exeQuery) == 0) {
     echo "This Page is Under Construction";
 }

while($fetchSet = mysql_fetch_array($exeQuery)) {
    // something else to display the content
}
于 2012-08-03T06:55:42.710 に答える
0

これを試して

if(empty($fetchSet) 
{
   echo "This Page is Under Construction";
}
else
{
 // something else to display the content
}
于 2012-08-03T06:49:59.710 に答える