Rumah  >  Artikel  >  pangkalan data  >  Bagaimana Menggunakan LIKE dan bindParam dengan betul dalam PDO untuk Memadankan Nama Pengguna Bermula dengan Watak Tertentu?

Bagaimana Menggunakan LIKE dan bindParam dengan betul dalam PDO untuk Memadankan Nama Pengguna Bermula dengan Watak Tertentu?

Patricia Arquette
Patricia Arquetteasal
2024-11-14 13:28:02398semak imbas

How to Correctly Use LIKE and bindParam in PDO to Match Usernames Starting with a Specific Character?

Matching Usernames Beginning with a Character Using LIKE and bindParam in PDO

In database querying using bindParam with PDO, you may encounter scenarios where you need to utilize the LIKE operator to search for partial matches of data. Specifically, you may want to retrieve usernames that begin with a specific character, denoted as 'a' in this case.

To achieve this using LIKE and bindParam correctly, avoid enclosing the bindParam placeholder with inner single quotes. The correct syntax is:

$term = "a%";

The code exhibits an error in attempting to execute a%' as the wildcard criteria instead of a%.

Remember that bindParam ensures that all string values are quoted appropriately when passed to the SQL statement. Therefore, enclosing the placeholder in quotes is unnecessary and will result in incorrect matching.

The corrected query should read as follows:

$term = "a%";

$sql = "SELECT username 
        FROM `user` 
        WHERE username LIKE :term 
        LIMIT 10";      

$stmt = $core->dbh->prepare($sql);
$stmt->bindParam(':term', $term, PDO::PARAM_STR);
$stmt->execute();
$data = $stmt->fetchAll();

This code will successfully retrieve all usernames that start with the character 'a' by applying the LIKE operator correctly within the bindParam usage.

Atas ialah kandungan terperinci Bagaimana Menggunakan LIKE dan bindParam dengan betul dalam PDO untuk Memadankan Nama Pengguna Bermula dengan Watak Tertentu?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn