0

このクレイジーな質問で申し訳ありませんが、奇妙に思えます!
私はコードをもっている:

if(isset($_GET['tablename'])){
    $tablename=$_GET['tablename'];
    var_dump($tablename);
    echo 'Table is set <br/>';
    if($tablename="product"){
        echo 'Table is product <br/>';
    };
    if($tablename="demanded"){
        echo 'Table is demanded <br/>';
    };
};

これは私がディスプレイに表示するものです:

文字列 'demanded' (長さ = 8)
テーブルが設定され
ています テーブルは製品です
テーブルは要求 されています

テーブルの値(製品または要求)に応じてサブクエリを実行したいのですが、助けてください

4

4 に答える 4

12

==単一ではなく、比較を行うために使用する必要があります=

于 2012-07-04T08:52:48.477 に答える
4

orと一緒に使用elseifします(厳密な比較の場合):=====

if($tablename == "product"){
    echo 'Table is product <br/>';
}
elseif($tablename == "demanded"){
    echo 'Table is demanded <br/>';
}

コードは次のようになります。

if(isset($_GET['tablename'])){
    $tablename=$_GET['tablename'];
    var_dump($tablename);
    echo 'Table is set <br/>';

    if($tablename === "product"){
        echo 'Table is product <br/>';
    }
    elseif($tablename === "demanded"){
        echo 'Table is demanded <br/>';
    }
}

また、上記のコードでも修正された、必要のない;終了中括弧の最後にありました。}

あなたが持っていたエラー

  • または=の代わりに使用していました=====
  • 条件;の中括弧を終了する前に持っていた}

あなたができる改善

  • すでに文字列と比較していることを知っているため、===代わりに使用します==
  • コードでelseifは、個々の条件ではなく使用する方ifが構文的に正しい
  • $_GET['tablename']これらのテーブル名がデータベースとの対話に使用されている場合は、本番コードには使用しないでください。そうしないと、コードがセキュリティを提供しません
于 2012-07-04T08:52:54.437 に答える
0

このように使用します

 if(isset($_GET['tablename'])){
        $tablename=$_GET['tablename'];
        var_dump($tablename);
        echo 'Table is set <br/>';
        if($tablename=="product"){
            echo 'Table is product <br/>';
        };
        if($tablename=="demanded"){
            echo 'Table is demanded <br/>';
        };
    };
于 2012-07-04T08:57:41.487 に答える
0

文字列の比較に使用

  strcmp(string1,string2);   //return 0 when both strings are equal 
于 2012-07-04T08:56:12.267 に答える