Rumah > pembangunan bahagian belakang > masalah PHP > PHP menukar hasil pertanyaan kepada tatasusunan dua dimensi

PHP menukar hasil pertanyaan kepada tatasusunan dua dimensi

WBOY
Lepaskan: 2023-05-05 20:23:07
asal
554 orang telah melayarinya

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);
Salin selepas log masuk

Kod sampel menggunakan PDO:

$pdo = new PDO("mysql:host=localhost;dbname=database", "user", "password");
$sql = "SELECT name, age FROM users";
$result = $pdo->query($sql);
Salin selepas log masuk

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.

  1. kaedah ambil()

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;
}
Salin selepas log masuk

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 .

  1. kaedah fetch_all()

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);
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan