Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Làm cách nào để bỏ qua một tham số trong một truy vấn mysqli đã chuẩn bị sẵn trong PHP?

Bạn có thể tạo danh sách các tiêu chí và thêm vào danh sách các giá trị và kiểu ràng buộc, đây là một mô hình nhanh sử dụng hai trong số các trường mà bạn tham khảo ...

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

Lưu ý rằng bind_param() sử dụng ... để cho phép bạn chuyển một mảng thay vì các trường riêng lẻ.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysqldump qua SSH vào máy tính cục bộ

  2. MySql chọn giá trị mặc định nếu không có kết quả?

  3. Sự khác biệt giữa Khóa, Khóa chính, Khóa duy nhất và Chỉ mục trong MySQL

  4. PDO là các hàng bị ảnh hưởng trong khi thực thi câu lệnh

  5. mysql + cập nhật top n