Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Cekap Mengambil Semua Hasil daripada MySQL LIKE Query?

Bagaimana untuk Cekap Mengambil Semua Hasil daripada MySQL LIKE Query?

Linda Hamilton
Linda Hamiltonasal
2024-12-14 19:27:12397semak imbas

How to Efficiently Fetch All Results from a MySQL LIKE Query?

Pertanyaan MySQL dengan SUKA dan Keputusan Berbilang

Dalam MySQL, menggunakan pengendali LIKE dalam pertanyaan selalunya boleh mengembalikan berbilang hasil. Untuk mendapatkan semula semua hasil padanan, anda perlu menggunakan kaedah pengambilan yang betul.

Mengambil Semua Hasil

Untuk mengambil semua hasil daripada pertanyaan, anda boleh menggunakan kaedah get_result(). Kaedah ini mendapatkan semula set hasil lengkap sebagai objek MySQLi_Result. Anda kemudiannya boleh menggunakan kaedah fetch_all() untuk mendapatkan tatasusunan semua data baris, dikaitkan dengan nama medan jika anda telah menggunakan pemalar MYSQLI_ASSOC.

Kod Contoh Menggunakan get_result():

$param = "%{$_POST['user']}%";
$stmt = $db->prepare("SELECT id, username FROM users WHERE username LIKE ?");
$stmt->bind_param("s", $param);
$stmt->execute();
$result = $stmt->get_result();
$data = $result->fetch_all(MYSQLI_ASSOC);

Contoh Kod Menggunakan PHP 8.2 execute_query():

$sql = "SELECT id, username FROM users WHERE username LIKE ?";
$result = $db->execute_query($sql, ["%{$_POST['user']}%"]);
$data = $result->fetch_all(MYSQLI_ASSOC);

Pengambilan Berulang

Jika anda lebih suka mengambil keputusan secara berulang, anda boleh menggunakan kaedah fetch(). Walau bagaimanapun, anda perlu mengendalikan lelaran itu sendiri, kerana tiada cara terbina dalam untuk menggelungkan semua hasil.

Kod Contoh untuk Pengambilan Berulang dengan bind_result():

$param = "%{$_POST['user']}%";
$stmt = $db->prepare("SELECT id, username FROM users WHERE username LIKE ?");
$stmt->bind_param("s", $param);
$stmt->execute();

$stmt->bind_result($id, $username);
while ($stmt->fetch()) {
  echo "Id: {$id}, Username: {$username}";
}

Ingat untuk sentiasa merujuk kepada dokumentasi MySQLi untuk mendapatkan maklumat terkini tentang pengambilan hasil.

Atas ialah kandungan terperinci Bagaimana untuk Cekap Mengambil Semua Hasil daripada MySQL LIKE Query?. 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