Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Gunakan parameter terikat beberapa kali

Saya telah mengalami masalah yang sama beberapa kali sekarang dan saya pikir saya telah menemukan solusi yang cukup sederhana dan bagus. Jika saya ingin menggunakan parameter beberapa kali, saya hanya menyimpannya ke User-Defined Variable MySQL .
Ini membuat kode lebih mudah dibaca dan Anda tidak memerlukan fungsi tambahan apa pun di 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
}

Satu-satunya kelemahan mungkin adalah Anda perlu melakukan kueri MySQL tambahan - tetapi menurut saya itu sangat berharga.
Sejak User-Defined Variable terikat sesi di MySQL juga tidak perlu khawatir tentang variabel @term menyebabkan efek samping di lingkungan multi-pengguna.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP MYSQL UPDATE jika Ada atau INSERT jika tidak?

  2. Bagaimana cara menghapus semua catatan duplikat dalam tabel MySQL tanpa tabel temp

  3. Praktik Terbaik untuk Membuat Indeks di Tabel MySQL Anda – Rolling Index Builds

  4. Cara Memuat Konfigurasi JDBC Dari Contoh File Properties

  5. Apa artinya melarikan diri dari string?