Membaca data dari database MySQL
Pernyataan SELECT digunakan untuk membaca data dari tabel data:
PILIH nama_kolom DARI nama_tabel
Kita dapat menggunakan tanda * untuk membaca semua field pada tabel data:
PILIH * DARI nama_tabel
Untuk mempelajari lebih lanjut tentang SQL, kunjungi tutorial SQL kami.
MenggunakanMySQLi
Pada contoh berikut, kita membaca data kolom id, firstname dan lastname dari tabel MyGuests di database myDB dan menampilkannya di halaman:
Contoh (MySQLi - Berorientasi Objek)
<?php $namaserver = " localhost " ; $namapengguna = " nama pengguna " ; $kata sandi = " kata sandi " ; $ namadb = " myDB " ; $sambungan = baru mysqli ( $servername , $username , $password , $dbname ) ; // Periksa koneksi jika ( $sambungan -> koneksi_kesalahan ) { die ( " Koneksi gagal: " . $ conn -> connect_error ) } $sql = " PILIH id
, nama depan, nama belakang DARI Tamu Saya " ; $hasil = $sambung -> kueri ( $sql ) ; ( $hasil -> jumlah_baris > 0 ) { // data keluaran sementara ( $baris = $hasil -> ambil_assoc ( ) ) { gema " id : " ." . $baris [ " nama belakang " ] . " <br> " ; } } kalau tidak { gema " 0 hasil " ; $sambungan -> tutup ( ) ? > Kode di atas dianalisis sebagai berikut:
Pertama, kita menyiapkan pernyataan SQL untuk membaca tiga bidang id, nama depan dan nama belakang dari tabel data MyGuests. Kemudian kita menggunakan pernyataan SQL yang dimodifikasi untuk mengambil kumpulan hasil dari database dan menetapkannya ke variabel $result yang disalin.
Fungsi num_rows() menentukan data yang dikembalikan.
Jika beberapa bagian data dikembalikan, fungsinya ambil_assoc() menempatkan kumpulan gabungan tersebut ke dalam array asosiatif dan mengeluarkannya dalam satu lingkaran. while() mengulang kumpulan hasil dan menampilkan tiga nilai bidang id, nama depan, dan nama belakang.
Contoh berikut menggunakan pendekatan berorientasi proses MySQLi, dan efeknya mirip dengan kode di atas:
Contoh (MySQLi - Berorientasi Prosedur)
<?php $namaserver = " localhost " ; $namapengguna = " nama pengguna " ; $kata sandi = " kata sandi " ; $ namadb = " myDB " ; $conn = mysqli_connect ( $servername , $username , $password , $dbname ) ; // Periksa koneksi jika ( ! $sambungan ) { die ( " Koneksi gagal : " .mysqli_connect_error ( ) ) ; $sql = " PILIH id, nama depan, nama belakang DARI Tamu Saya " ; $ hasil = mysqli_query ( $conn , $sql ) ; ( mysqli_num_rows ( $hasil ) > 0 ) { // data keluaran sementara ( $baris = mysqli_fetch_assoc ( $hasil ) ) { gema " id : " ." . $baris [ " nama belakang " ] . " <br> " ; } } kalau tidak { gema " 0 hasil " ; mysqli_close ( $sambungan ) ? > Menggunakan PDO (+ pra-pemrosesan)
Contoh berikut menggunakan pernyataan yang telah disiapkan.
Memilih bidang id, nama depan dan nama belakang dari tabel MyGuests dan menempatkannya di tabel HTML:
Contoh (PDO)
<?php gema " <gaya tabel='batas: solid 1px hitam;' > " ; kelas " <tr><th>Id</th><th>Nama Depan</th><th>Nama Belakang</th></tr> " ; Baris Tabel meluas RekursifIteratorIterator { fungsi __konstruksi ( $it ) { induk :: __konstruksi ( $ itu , diri :: DAUN_ONLY ) } fungsi saat ini ( ) { kembali " <td style='width : 150px ; border : 1px hitam pekat ; ' > " . fungsi mulaiAnak-anak ( ) { gema " <tr> " ; fungsi akhirAnak-anak ( ) { gema " </tr> " .} $namaserver = " host lokal " ; $namapengguna = " nama pengguna " ; $kata sandi = " kata sandi " ; $namadb = " myDBPDO " ; { $sambungan = baru PDO ( " mysql :host= $ servername ; dbname= $ dbname " , $ username , $ password ) ; $ conn -> setAttribute ( PDO :: ATTR_ERRMODE , PDO :: ERRMODE_EXCEPTION ) ; PILIH id, nama depan, nama belakang DARI Tamu Saya " ) ; $stmt -> jalankan ( ) ; // Tetapkan kumpulan hasil sebagai array asosiatif $ hasil = $ stmt - > setFetchMode ( PDO :: FETCH_ASSOC ) ; TableRows ( baru RekursifArrayIterator ( $stmt -> ambilSemua ( ) ) ) sebagai $k => $v ) { gema $v ; } } menangkap ( PDOException $e ) { gema " Kesalahan : " .$ sambungan = nol ; " </tabel> " ? >