Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да игнорирате параметър в подготвена mysqli заявка в PHP?

Можете да съставите списък с критериите и да добавите в списък стойностите и типовете за свързване, ето един бърз модел, който използва две от полетата, към които се позовавате...

$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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Инсталирайте уеб сървър в Windows XP с Apache2, PHP5 и MySQL4 – част 1

  2. Как да използвам JOIN в Yii2 Active Record за релационен модел?

  3. mysql:отнасящ се до колони по числа

  4. Основи на системата запомни ме

  5. Вмъкване на изображения в база данни