php ialah bahasa pengaturcaraan yang biasa digunakan yang sering digunakan untuk membangunkan aplikasi web. Menyoal pangkalan data ialah salah satu operasi yang biasa digunakan dalam PHP, dan hasil pertanyaan perlu dikembalikan dalam bentuk tatasusunan. Artikel ini akan menerangkan cara menukar hasil pertanyaan kepada tatasusunan dua dimensi.
1. Hasil pertanyaan
Dalam php, gunakan mysqli atau PDO untuk menyambung ke pangkalan data untuk operasi pertanyaan. Berikut ialah contoh kod menggunakan pertanyaan mysqli:
$mysqli = new mysqli("localhost", "user", "password", "database"); $sql = "SELECT name, age FROM users"; $result = $mysqli->query($sql);
Kod sampel menggunakan PDO:
$pdo = new PDO("mysql:host=localhost;dbname=database", "user", "password"); $sql = "SELECT name, age FROM users"; $result = $pdo->query($sql);
Sama ada mysqli atau PDO, selepas melaksanakan pernyataan pertanyaan, objek set hasil akan dikembalikan.
2. Tukar hasil menjadi tatasusunan
Terdapat dua cara untuk menukar hasil pertanyaan kepada tatasusunan Salah satunya ialah menggunakan fungsi ambil yang disertakan dengan mysqli atau PDO untuk menukar baris baris; yang lain Yang pertama adalah untuk mendapatkan semula keseluruhan keputusan yang ditetapkan ke dalam tatasusunan sekaligus.
Kaedah ambil digunakan untuk mengeluarkan satu baris data daripada set hasil dan mengalihkan penunjuk ke bawah satu baris. Kaedah fetch() boleh dipanggil dalam gelung untuk mendapatkan keseluruhan set hasil. Berikut ialah kod sampel:
// mysqli示例代码 $rows = array(); while ($row = $result->fetch_assoc()) { $rows[] = $row; } // PDO示例代码 $rows = array(); while ($row = $result->fetch(PDO::FETCH_ASSOC)) { $rows[] = $row; }
Kod di atas menggunakan fetch_assoc() atau FETCH_ASSOC untuk mendapatkan tatasusunan bersekutu Anda juga boleh menggunakan fetch_array() atau FETCH_BOTH untuk mendapatkan tatasusunan yang mengandungi nombor dan kunci yang berkaitan. ) atau FETCH_OBJ mengembalikan objek .
kaedah fetch_all() ialah untuk mengambil keseluruhan keputusan yang ditetapkan ke dalam tatasusunan pada satu masa. fetch_all() ialah fungsi dalam PDO Dalam mysqli, anda perlu menggunakan get_result() untuk mendapatkan objek set hasil. Berikut ialah kod sampel:
// mysqli示例代码 $rows = $result->get_result()->fetch_all(MYSQLI_ASSOC); // PDO示例代码 $rows = $result->fetch_all(PDO::FETCH_ASSOC);
Kod di atas mengeluarkan set hasil sekaligus dan menyimpan semua data dalam set hasil dalam tatasusunan dua dimensi dalam bentuk tatasusunan bersekutu.
3. Ringkasan
Kedua-dua kaedah yang diperkenalkan di atas masing-masing mempunyai kelebihan dan keburukan tersendiri Menggunakan kaedah fetch() boleh memproses keputusan baris demi baris, yang lebih fleksibel, tetapi memerlukan a banyak kod untuk memproses setiap baris data. Kaedah fetch_all() boleh mengambil keseluruhan hasil sekali gus Kod ini mudah, tetapi apabila jumlah data terlalu besar, ia mungkin menduduki terlalu banyak memori.
Dalam perkembangan sebenar, anda boleh memilih kaedah yang sesuai mengikut situasi sebenar. Jika set hasil pertanyaan adalah kecil, anda boleh menggunakan kaedah fetch() jika tidak, adalah disyorkan untuk menggunakan kaedah fetch_all().
Atas ialah kandungan terperinci PHP menukar hasil pertanyaan kepada tatasusunan dua dimensi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!