Rumah > Soal Jawab > teks badan
P粉5548420912023-08-22 19:56:41
Gunakan mysqli_fetch_row()
. Cuba kod berikut:
$query = "SELECT ssfullname, ssemail FROM userss WHERE user_id = ".$user_id; $result = mysqli_query($conn, $query); $row = mysqli_fetch_row($result); $ssfullname = $row['ssfullname']; $ssemail = $row['ssemail'];
P粉0109671362023-08-22 19:34:43
Tidak perlu menggunakan gelung apabila hanya satu hasil yang diperlukan. Dapatkan baris secara langsung.
Jika anda perlu mendapatkan keseluruhan baris data sebagai tatasusunan bersekutu:
$row = $result->fetch_assoc();
Jika anda hanya memerlukan satu nilai, bermula dengan PHP 8.2:
$value = $result->fetch_column();
Atau untuk versi lama:
$value = $result->fetch_row()[0] ?? false;
Berikut ialah contoh lengkap kes penggunaan yang berbeza
Apabila pembolehubah perlu digunakan dalam pertanyaan, penyata praproses mesti digunakan. Sebagai contoh, katakan kita mempunyai pembolehubah $id
:
PHP >= 8.2
// 获取单行 $sql = "SELECT fullname, email FROM users WHERE id=?"; $row = $conn->execute_query($query, [$id])->fetch_assoc(); // 如果只需要一个值 $sql = "SELECT count(*) FROM users WHERE id=?"; $count = $conn->execute_query($query, [$id])->fetch_column();
Versi lama PHP:
// 获取单行 $query = "SELECT fullname, email FROM users WHERE id=?"; $stmt = $conn->prepare($query); $stmt->bind_param("s", $id); $stmt->execute(); $result = $stmt->get_result(); $row = $result->fetch_assoc(); // 如果只需要一个值 $query = "SELECT count(*) FROM userss WHERE id=?"; $stmt = $conn->prepare($query); $stmt->bind_param("s", $id); $stmt->execute(); $result = $stmt->get_result(); $count = $result->fetch_row()[0] ?? false;
Penjelasan terperinci tentang proses di atas boleh didapati dalam artikel saya. Sebab mengapa proses ini mesti diikuti dijelaskan dalam Soalan yang terkenal ini.
Dalam kes anda, tiada pembolehubah digunakan dalam pertanyaan, anda boleh menggunakan query()
kaedah:
$query = "SELECT fullname, email FROM users ORDER BY ssid"; $result = $conn->query($query); // 如果需要一个数组 $row = $result->fetch_assoc(); // 或者如果只需要一个值 $value = $result->fetch_row()[0] ?? false;