Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Mendapatkan Berbilang Baris dengan Pertanyaan LIKE Menggunakan mysqli?

Bagaimana untuk Mendapatkan Berbilang Baris dengan Pertanyaan LIKE Menggunakan mysqli?

Patricia Arquette
Patricia Arquetteasal
2025-01-20 06:21:101008semak imbas

How to Retrieve Multiple Rows with a LIKE Query Using mysqli?

MySQLi LIKE Pertanyaan: Mendapatkan Berbilang Baris

Kod yang disediakan menggunakan bind_result dan fetch, hanya sesuai untuk pengambilan satu baris. Untuk mengambil berbilang baris yang sepadan dengan pertanyaan LIKE menggunakan MySQLi, pertimbangkan kaedah ini:

Kaedah 1: Menggunakan get_result()

Kaedah ini mengembalikan objek set hasil, membolehkan anda menggunakan fetch_all() untuk mendapatkan semula semua baris sebagai tatasusunan bersekutu:

<code class="language-php">$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);</code>

Kaedah 2: Menggunakan execute_query() (PHP 8.2 dan lebih baru)

Pendekatan diperkemas ini melaksanakan pertanyaan dan mengambil semua hasil secara serentak:

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

Kaedah 3: Berulang fetch()

Jika anda lebih suka pendekatan bind_result() dan fetch(), gunakan gelung untuk mengulangi berbilang baris:

<code class="language-php">$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}";
}</code>

Alternatif ini dengan cekap mendapatkan semula semua baris yang memenuhi keadaan LIKE anda. Pilih kaedah yang paling sesuai dengan gaya pengekodan dan versi PHP anda.

Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Berbilang Baris dengan Pertanyaan LIKE Menggunakan mysqli?. 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