Rumah > pembangunan bahagian belakang > masalah PHP > Tukar jadual data pertanyaan php kepada tatasusunan

Tukar jadual data pertanyaan php kepada tatasusunan

WBOY
Lepaskan: 2023-05-19 12:01:37
asal
529 orang telah melayarinya

Apabila menggunakan MySQL sebagai pangkalan data dalam PHP, selalunya perlu menukar data jadual data yang ditanya ke dalam format tatasusunan. Kaedah ini sangat biasa kerana tatasusunan ialah salah satu jenis data yang biasa digunakan dalam PHP, dan semasa menulis kod pertanyaan, anda selalunya perlu menggunakan tatasusunan PHP untuk pemprosesan dan penukaran data.

Di bawah, kami akan memperkenalkan kaedah mudah untuk menukar hasil pertanyaan dalam MySQL kepada format tatasusunan PHP.

  1. Gunakan mysql_fetch_array

Cara paling asas untuk PHP menanyakan jadual data mysql dan menukarnya kepada tatasusunan ialah menggunakan fungsi mysql_fetch_array. Fungsi fungsi ini adalah untuk menukar hasil pertanyaan MySQL daripada rekod data baris demi baris kepada data jenis tatasusunan PHP. Sintaks fungsi ini adalah seperti berikut:

mysql_fetch_array(resource $result [, int $result_type =  MYSQL_BOTH ])
Salin selepas log masuk

Antaranya, parameter pertama ialah set hasil pertanyaan MySQL, dan parameter kedua ialah parameter pilihan, menunjukkan jenis tatasusunan yang perlu dikembalikan. MYSQL_BOTH bermaksud mengembalikan kedua-dua tatasusunan bersekutu dan tatasusunan angka Selain itu, ia juga boleh ditetapkan kepada MYSQL_ASSOC dan MYSQL_NUM untuk mengembalikan tatasusunan bersekutu atau tatasusunan angka.

Kod sampel adalah seperti berikut:

// 连接数据库
$conn = mysql_connect('localhost','root','');
mysql_query("set names 'utf8'");
mysql_select_db('test');

//查询数据表
$sql = "select * from student";
$result = mysql_query($sql);

//转换为数组
$arr = array();
while($row = mysql_fetch_array($result,MYSQL_ASSOC)){
    $arr[] = $row;
}
//输出结果
print_r($arr);
Salin selepas log masuk

Dalam kod di atas, kami mula-mula menyambung ke pangkalan data, kemudian menanyakan semua data dalam jadual data pelajar, dan akhirnya menggunakan gelung sementara untuk melintasi semua hasil pertanyaan Setiap hasil ditambahkan pada tatasusunan, dan akhirnya seluruh tatasusunan adalah output.

2. Gunakan PDO untuk membuat pertanyaan dan menukar tatasusunan

Kaedah lain ialah menggunakan perpustakaan sambungan PDO (Objek Data PHP) PHP untuk menanyakan pangkalan data dan mendapatkan set hasil. PDO menyediakan cara yang lebih fleksibel dan selamat untuk mengendalikan pangkalan data. Menyoal pangkalan data melalui PDO boleh menghalang serangan seperti suntikan SQL dengan berkesan.

Contoh PDO menyoal MySQL adalah seperti berikut:

//连接数据库
$dsn = 'mysql:dbname=test;host=localhost';
$username = 'root';
$password = '';
try {
    $dbh = new PDO($dsn, $username, $password,array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
} catch (PDOException $e) {
    echo 'Connection failed: ' . $e->getMessage();
}

//查询数据表
$sql = "select * from student";
$sth = $dbh->query($sql);

//转换为数组
$arr = $sth->fetchAll(PDO::FETCH_ASSOC);
print_r($arr);
Salin selepas log masuk

Dalam contoh di atas, kami mula-mula mewujudkan sambungan ke pangkalan data MySQL, dan kemudian menggunakan PDO (Objek Data PHP) untuk menanyakan semua data dalam jadual data pelajar, dan gunakan fungsi fetchAll untuk mendapatkan data semua set hasil, dan akhirnya mengeluarkan tatasusunan.

Anda boleh melihat bahawa dalam contoh ini, kod untuk menanyakan jadual data dan menukarnya kepada tatasusunan adalah agak mudah, dan kaedah PDO adalah lebih selamat dan boleh dipercayai daripada kaedah mysql_fetch_array.

Ringkasan:

Menggunakan dua kaedah di atas, hasil pertanyaan jadual data dalam MySQL boleh ditukar kepada format tatasusunan PHP. Kaedah 1 sesuai untuk fungsi perpustakaan lanjutan MySQL. Kelemahannya ialah ia tidak menyokong kaedah operasi PDO yang lebih pantas dan selamat. Kaedah PDO adalah lebih fleksibel dan lebih selamat Ia mempunyai kelebihan untuk mencegah serangan suntikan SQL dan merupakan penyelesaian kompromi. Pemilihan kaedah penggunaan hendaklah ditimbang berdasarkan senario sebenar.

Atas ialah kandungan terperinci Tukar jadual data pertanyaan php kepada tatasusunan. 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