Rumah > Artikel > pembangunan bahagian belakang > PHP dan PDO: Cara mengumpulkan data dan pengiraan agregat
PHP dan PDO: Cara melakukan pengiraan pengumpulan data dan pengagregatan
Pengenalan:
Apabila membangunkan aplikasi web, kita sering menghadapi situasi di mana kita perlu mengumpulkan dan mengagregat data dalam pangkalan data. Ia adalah amalan biasa dalam PHP untuk menggunakan sambungan PDO (Objek Data PHP) untuk menyambung dan mengendalikan pangkalan data. Artikel ini akan memperkenalkan cara menggunakan PDO untuk pengumpulan data dan pengiraan pengagregatan serta memberikan contoh kod yang sepadan.
$dsn = 'mysql:host=localhost;dbname=mydatabase;'; $user = 'username'; $password = 'password'; try { $pdo = new PDO($dsn, $user, $password); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "成功连接到数据库!"; } catch (PDOException $e) { echo "连接数据库失败:" . $e->getMessage(); }
Dalam kod di atas, kami mula-mula menentukan alamat hos, nama pangkalan data, nama pengguna dan kata laluan yang diperlukan untuk menyambung ke pangkalan data. Kemudian, gunakan pembina PDO untuk mencipta objek PDO dan tetapkan mod ralat kepada ERRMODE_EXCEPTION supaya pengecualian dilemparkan apabila ralat berlaku. Akhir sekali, kami mencetak mesej bahawa sambungan ke pangkalan data berjaya, atau mesej kegagalan jika sambungan gagal.
$sql = "SELECT class, COUNT(*) as student_count FROM students GROUP BY class"; try { $stmt = $pdo->prepare($sql); $stmt->execute(); $result = $stmt->fetchAll(PDO::FETCH_ASSOC); foreach ($result as $row) { echo "班级:" . $row['class'] . ",学生人数:" . $row['student_count'] . "<br>"; } } catch (PDOException $e) { echo "查询数据失败:" . $e->getMessage(); }
Dalam kod di atas, kami menggunakan kaedah prepare() pernyataan PDO yang disediakan untuk menyediakan pernyataan pertanyaan. Kemudian, gunakan kaedah execute() untuk melaksanakan pertanyaan dan kaedah fetchAll() untuk mengambil semua baris hasil. Seterusnya, kami mengulangi set keputusan dan mengeluarkan setiap kelas dan bilangan pelajar yang sepadan.
$sql = "SELECT COUNT(*) as student_count, AVG(score) as avg_score, MAX(score) as max_score, MIN(score) as min_score FROM students"; try { $stmt = $pdo->prepare($sql); $stmt->execute(); $result = $stmt->fetch(PDO::FETCH_ASSOC); echo "学生总数:" . $result['student_count'] . "<br>"; echo "平均分数:" . $result['avg_score'] . "<br>"; echo "最高分数:" . $result['max_score'] . "<br>"; echo "最低分数:" . $result['min_score'] . "<br>"; } catch (PDOException $e) { echo "查询数据失败:" . $e->getMessage(); }
Dalam kod di atas, kami menggunakan proses yang sama untuk menyediakan pernyataan pertanyaan dan melaksanakan pertanyaan. Walau bagaimanapun, kali ini kami menggunakan kaedah fetch() untuk mendapatkan satu baris hasil dan menyimpan hasil dalam tatasusunan bersekutu. Kemudian, kami mengeluarkan jumlah pelajar, skor purata, skor tertinggi, dan skor terendah.
Kesimpulan:
Dalam artikel ini, kami mempelajari cara menggunakan PDO untuk menyambung ke pangkalan data, dan menggunakan PDO untuk melaksanakan operasi pengiraan pengumpulan dan pengumpulan data. Melalui penggunaan penyataan PDO dan SQL yang munasabah, kami boleh memproses data dengan mudah dalam pangkalan data dan melaksanakan pelbagai operasi data secara fleksibel. Saya berharap kandungan artikel ini dapat membantu pembaca lebih memahami dan mengaplikasikan fungsi berkaitan PDO.
Di atas ialah artikel tentang cara PHP dan PDO melakukan pengiraan pengumpulan data dan pengagregatan, saya harap ia akan membantu anda.
Atas ialah kandungan terperinci PHP dan PDO: Cara mengumpulkan data dan pengiraan agregat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!