sql >> データベース >  >> RDS >> Mysql

PHPとMYSQLを使用したフィールド検索の組み合わせ

    ANDを追加するかどうかに関するすべての条件の代わりに クエリに連結するときは、配列を使用してimplode

    $fields = array('sport' => 'sport',
                    'gender' => 'gender', 
                    'fname' => 'firstName',
                    'lname' => 'lastName',
                    'country' => 'country');
    $wheres = array();
    foreach ($fields as $postfield => $dbfield) {
        if ($_POST[$postfield] != 'showAll') {
            $wheres[] = "$dbfield = '" . mysql_real_escape_string($_POST[$postfield]) . "'";
        }
    }
    $selectString = "SELECT t2ath.lastName, t2ath.firstName, t2ath.image, t2ath.sport, t2ath.gender, t2ath.country, t2country.flag 
                     FROM t2ath LEFT JOIN t2country
                     ON t2ath.country = t2country.name";
    if (count($wheres) > 0) {
        $selectString .= " WHERE " . implode(" AND ", $wheres);
    }
    $result = mysql_query($selectString);
    

    PDOプリペアドステートメントを使用して同様にそれを行う方法を確認するには、ここで私の答えを参照してください:ユーザーがPHP / MySQLで3つのオプション変数を適用できるようにするコードアプローチは何ですか?



    1. Laravelの列をインクリメント

    2. MySQL LIKE vs LOCATE

    3. SQLServer2017のステップバイステップのインストール-1

    4. TNSPINGはOKですが、sqlplusはORA-12154を提供しますか?