sql >> Databáze >  >> RDS >> Mysql

Jak ignorovat parametr v připraveném mysqli dotazu v PHP?

Můžete sestavit seznam kritérií a přidat do seznamu hodnoty a typy vazeb, zde je rychlý model, který používá dvě pole, na která odkazujete...

$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();

Všimněte si, že bind_param() používá ... což vám umožní předat pole místo jednotlivých polí.




  1. Oracle UTL_FILE čte řádky souboru CSV

  2. Klíčové slovo MySQL AS

  3. Porovnejte DATETIME a DATE s ignorováním časové části

  4. Vyplnění zobrazené hodnoty položky na dotaz v Oracle Forms