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

Sử dụng tham số giới hạn nhiều lần

Tôi đã gặp vấn đề tương tự một vài lần và tôi nghĩ rằng tôi đã tìm thấy một giải pháp khá đơn giản và tốt. Trong trường hợp tôi muốn sử dụng các tham số nhiều lần, tôi chỉ cần lưu trữ chúng vào một MySQL User-Defined Variable .
Điều này làm cho mã dễ đọc hơn nhiều và bạn không cần bất kỳ chức năng bổ sung nào trong PHP:

$sql = "SET @term = :term";

try
{
    $stmt = $dbh->prepare($sql);
    $stmt->bindValue(":term", "%$term%", PDO::PARAM_STR);
    $stmt->execute();
}
catch(PDOException $e)
{
    // error handling
}


$sql = "SELECT ... FROM table WHERE name LIKE @term OR number LIKE @term";

try
{
    $stmt = $dbh->prepare($sql);
    $stmt->execute();
    $stmt->fetchAll();
}
catch(PDOException $e)
{
    //error handling
}

Nhược điểm duy nhất có thể là bạn cần thực hiện thêm một truy vấn MySQL - nhưng tôi thấy nó hoàn toàn xứng đáng.
User-Defined Variable bị ràng buộc phiên trong MySQL nên cũng không cần phải lo lắng về biến @term gây ra tác dụng phụ trong môi trường nhiều người dùng.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Đạt được Dự phòng &Dự phòng MySQL trên Google Cloud Platform (GCP)

  2. Tìm hiểu cách nhập dữ liệu Excel vào cơ sở dữ liệu MySQL

  3. Cấu hình của MySQL 8

  4. Cách hoạt động của hàm MATCH () trong MySQL

  5. TIME_TO_SEC () Ví dụ - MySQL