-1

私はこれを何週間も理解しようとしてきましたが、これは単純なステートメントですが、if ステートメントを実行することはありません。変数が存在し、各条件が真であることを知っているので、変数を画面にエコーしていますが、エコー「何か」は決して実行されません。

 if ($db_a==$session_a && $db_b==$session_b && $dbfreq_b=="1")

        {
         echo "something";
        }

もともとこれを持っていたので、ブラケットだけだと思いました:

if (($db_a==$session_a) && ($db_b==$session_b) && ($dbfreq_b=="1")) 

MYSQL データベースに保存されている変数とセッション変数を比較しています。

Var_dump を使用すると、db 変数は null ですが、予想される文字列値が画面に表示されます。

$db_a="username";
$session_a="username";
$db_b=="keyword string"; -mostly one word but could be multiple
$session_b=="keyword string";
$dbfreq_b="1"; - This is the frequency that the keyword appears in the MYSQL database

vardump を使用すると $db_a と $db_b は NULL ですが、ブラウザーに期待しているものをエコーし​​ます。

うまくいけば、これでもう少し説明がつきますか?

非常に迅速なヘルプをありがとう!!

4

1 に答える 1

1

あなたが言うように $db_a = $session_a AND $db_b = $session_b AND $dbfreq_b = 1 の場合、条件が false を返すことは不可能です。

コードをもう一度チェックして (5 つの変数すべて)、すべての条件が満たされていることを確認してください。単一の IF を 3 つの個別の条件に分割して、どれが false を返すかを知ることができます。

if ($db_a == $session_a) {
    echo "first OK\n;"
} 
if ($db_b == $session_b) {
    echo "second OK\n";
}
if ($dbfreq_b == "1") {
    echo "third OK";
}

変数の値を質問に追加していただけますか?

于 2013-02-07T15:13:40.307 に答える