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.
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 ])
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);
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);
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!