-3

だから、私はこれに頭を悩ませています。私の元の「IF」ステートメントは、真の場合は実行されません(変数をエコーし​​、コードをトリガーする必要があるため、真であることはわかっています)。ただし、IF ステートメントが真でない場合、elseif および else ステートメントは正常に機能します。コードは次のとおりです。

    <?php
    $count=mysql_num_rows($result);
    // have also tried only one "=" sign//
    if ($count==0){
        //This is not appearing//
        echo "Your search did not yield any results. Please try another search."; 
    } else if ( //other conditions// ) {
        //code that is working fine//
    } else {
        // more code that is working fine 
        // (happens to be the same as the original if statement)
    }
    echo $count; //is printing 0 correctly, but the if statement for $count=0 not happening//
    ?>

何か案は?

4

2 に答える 2

2

まず、mysqli に切り替えることをお勧めします。廃止された mysql シリーズのコマンドは使用しないでください。

ただし、問題への回答として、SQL ステートメントを確認する必要があります。mysql_num_rows は、成功した場合に行数を返し、失敗した場合に false を返します。false の整数値は 0 です。

于 2013-01-22T19:45:32.783 に答える
0

わかりました、職場の人にそれを見てもらい、彼はエラーを見つけました. 効果があるとは思わなかったので、報告しなかったものでした。元の if の前に while ステートメントがありましたが、if が false でない限り実行する必要はありませんでした。元のifの下に移動し、whileステートメント内で括弧で囲まれた別のifにelseifを変更すると、うまくいきました。

于 2013-01-22T20:27:58.390 に答える