Keputusan tunggal untuk pangkalan data menggunakan mysqli
P粉226642568
P粉226642568 2023-08-29 13:20:44
0
2
606
<p>Ini kali pertama saya mencuba mySQLi. Saya telah melakukannya dalam satu gelung. Keputusan gelung ditunjukkan, tetapi apabila saya cuba menunjukkan satu rekod, saya tersekat. Ini ialah kod gelung dalam tindakan. </p> <pre class="brush:php;toolbar:false;"><?php // Sambung ke DB $hostname="localhost"; $database="mydbname"; $username="root"; $password=""; $conn = mysqli_connect($nama hos, $nama pengguna, $kata laluan, $pangkalan data); ?> <?php $query = "PILIH ssfullname, ssemail DARI pengguna PESANAN OLEH ssid"; $result = mysqli_query($conn, $query); $num_results = mysqli_num_rows($result); ?> <?php /*Gelung setiap baris dan paparkan rekod */ untuk($i=0; $i<$num_results; $i++) { $row = mysqli_fetch_assoc($result); ?> Nama: <?php print $row['sssfullname']; <br /> E-mel: <?php print $row['ssemail'] ?> <br /><br /> <?php // gelung akhir } ?></pra> <p>Bagaimanakah cara saya memaparkan satu rekod, sebarang rekod, nama atau e-mel, dari baris pertama atau apa sahaja, hanya satu rekod, bagaimana saya melakukannya? Dalam kes rekod tunggal, pertimbangkan untuk mengalih keluar semua bahagian gelung di atas dan biarkan kami memaparkan sebarang rekod tunggal tanpa gelung. </p>
P粉226642568
P粉226642568

membalas semua(2)
P粉321676640

Gunakan mysqli_fetch_row(). Cuba ini,

$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粉675258598

Gelung tidak boleh digunakan apabila hanya satu hasil yang diperlukan. Dapatkan sahaja barisan sekarang.

  • Jika anda perlu mengekstrak keseluruhan baris ke dalam 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

Pembolehubah digunakan dalam pertanyaan

Apabila anda ingin menggunakan pembolehubah dalam pertanyaan, anda mesti menggunakan Penyata Disediakan. Sebagai contoh, katakan kita mempunyai pembolehubah $id:

PHP >= 8.2

// get a single row
$sql = "SELECT fullname, email FROM users WHERE id=?";
$row = $conn->execute_query($query, [$id])->fetch_assoc();

// in case you need just a single value
$sql = "SELECT count(*) FROM users WHERE id=?";
$count = $conn->execute_query($query, [$id])->fetch_column();

Versi PHP lama:

// get a single row
$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();

// in case you need just a single value
$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. Mengenai mengapa anda mesti mengikutinya, lihat soalan

yang terkenal ini

Tiada pembolehubah dalam pertanyaan

Dalam kes anda, jika tiada pembolehubah digunakan dalam pertanyaan, anda boleh menggunakan kaedah query():

$query = "SELECT fullname, email FROM users ORDER BY ssid";
$result = $conn->query($query);
// in case you need an array
$row = $result->fetch_assoc();
// OR in case you need just a single value
$value = $result->fetch_row()[0] ?? false;
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan