Menyiasat dengan LIKE dan Mendapatkan Berbilang Keputusan dalam mysqli
Kod yang disediakan dalam soalan, cuba melakukan pertanyaan LIKE dan mengambil berbilang hasil , menghadapi masalah. Langkah berikut menggariskan pendekatan yang betul:
Sediakan Pertanyaan:
$param = "%{$_POST['user']}%"; $stmt = $db->prepare("SELECT id, username FROM users WHERE username LIKE ?");
Ikat Parameter:
$stmt->bind_param("s", $param);
Lakukan Pertanyaan:
$stmt->execute();
Ambil Keputusan sebagai Tatasusunan:
Dari PHP 8.2 seterusnya:
$result = $stmt->get_result(); $data = $result->fetch_all(MYSQLI_ASSOC);
Sebelum PHP 8.2:
$result = $stmt->store_result(); while ($row = $result->fetch_assoc()) { $data[] = $row; }
Sebagai alternatif, Ambil Keputusan Secara Berperingkat:
$stmt->bind_result($id, $username); while ($stmt->fetch()) { echo "Id: $id, Username: $username"; }
Kod yang disemak ini memastikan semua hasil yang sepadan adalah diambil, walaupun berbilang baris dikembalikan. Rujukan yang disediakan dalam jawapan menjelaskan lagi teknik yang digunakan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mendapatkan Berbilang Hasil Secara Cekap daripada Pertanyaan SEPERTI MySQL Menggunakan mysqli?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!