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

PHPで準備されたmysqliクエリのパラメータを無視するにはどうすればよいですか?

    基準のリストを作成し、バインド値とタイプをリストに追加できます。これは、参照する2つのフィールドを使用する簡単なモックアップです...

    $data = [];
    $params = "";
    $where = [];
    if ( !empty($name)) {
        $data[] = $name;
        $params.="s";
        $where[] = "name like ?";
    }
    if ( !empty($size)) {
        $data[] = $size;
        $params.="i";
        $where[] = "size < ?";
    }
    $sql = "SELECT * FROM items";
    if ( count($where) > 0 ){
        $sql .= " where ". implode ( " and ", $where);
    }
    $query = $database->prepare($sql);
    $query->bind_param($params, ...$data);
    $query->execute();
    

    bind_param()に注意してください ...を使用します 個々のフィールドの代わりに配列を渡すことができるようにします。




    1. SQL Serverの文字列からすべての非アルファベット文字を削除するにはどうすればよいですか?

    2. php:文字列データを数値データに変更する方法

    3. PostgresのRails配列列に新しいデータが保持されない

    4. MariaDBに存在する場合のドロップテーブル