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!