PHP PDO ialah antara muka yang boleh menyambung ke pelbagai pangkalan data yang berbeza. Dalam aplikasi PHP, ia boleh menyambungkan kod PHP dengan sistem pangkalan data seperti MySQL, PostgreSQL, Oracle, dll. Dalam artikel ini, kami akan memperkenalkan cara menggunakan PDO untuk operasi pertanyaan.
Sebelum menggunakan PDO untuk menanyakan pangkalan data, anda perlu membuat sambungan terlebih dahulu. Berikut ialah contoh kod untuk menyambung ke pangkalan data MySQL:
<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDBPDO"; try { $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); echo "Connected successfully"; } catch(PDOException $e) { echo "Connection failed: " . $e->getMessage(); } ?>
Kod ini akan menyambung ke pangkalan data MySQL tempatan dan menggesa maklumat tentang kejayaan atau kegagalan sambungan. Melalui contoh ini, kita dapat melihat bahawa PDO mengendalikan ralat sambungan melalui pengendalian pengecualian.
Seterusnya, kami akan memperkenalkan cara menggunakan PDO untuk menanyakan satu baris data. Berikut ialah contoh kod untuk menanyakan satu baris data:
<?php $stmt = $conn->prepare("SELECT * FROM customers WHERE id = :id"); $stmt->bindParam(':id', $id); $id = 1; $stmt->execute(); $result = $stmt->fetch(PDO::FETCH_ASSOC); echo "id: " . $result['id'] . "<br>"; echo "name: " . $result['name'] . "<br>"; echo "email: " . $result['email'] . "<br>"; ?>
Kod ini akan menanyakan baris data dalam pangkalan data dan mengeluarkan hasilnya. Pertama, kami menggunakan kaedah PDO::prepare() untuk menyediakan pernyataan pertanyaan, kemudian gunakan kaedah bindParam() untuk mengikat parameter pertanyaan kepada ruang letak, kemudian gunakan kaedah execute() untuk melaksanakan pertanyaan, dan akhirnya gunakan kaedah fetch() untuk mengambil keputusan pertanyaan Kembali.
PDO juga menyokong menanyakan data berbilang baris. Berikut ialah contoh kod untuk menanyakan berbilang baris data:
<?php $stmt = $conn->prepare("SELECT * FROM customers"); $stmt->execute(); $result = $stmt->fetchAll(PDO::FETCH_ASSOC); foreach($result as $row) { echo "id: " . $row['id'] . "<br>"; echo "name: " . $row['name'] . "<br>"; echo "email: " . $row['email'] . "<br>"; echo "<hr>"; } ?>
Kod ini menggunakan kaedah fetchAll() untuk menanyakan berbilang baris data dalam pangkalan data dan mengeluarkan setiap baris data dalam gelung. Kaedah fetchAll() mengembalikan tatasusunan dua dimensi dan kita boleh menggunakan foreach untuk melintasi setiap baris data.
Dalam aplikasi web, biasanya kita perlu melayari halaman hasil pertanyaan. Berikut ialah contoh kod untuk pertanyaan data dan memaparkannya dalam halaman:
<?php $records_per_page = 10; $page = isset($_GET['page']) ? $_GET['page'] : 1; $stmt = $conn->prepare("SELECT * FROM customers LIMIT :offset, :records_per_page"); $stmt->bindParam(':offset', ($page - 1) * $records_per_page, PDO::PARAM_INT); $stmt->bindParam(':records_per_page', $records_per_page, PDO::PARAM_INT); $stmt->execute(); $result = $stmt->fetchAll(PDO::FETCH_ASSOC); foreach($result as $row) { echo "id: " . $row['id'] . "<br>"; echo "name: " . $row['name'] . "<br>"; echo "email: " . $row['email'] . "<br>"; echo "<hr>"; } $stmt = $conn->prepare("SELECT COUNT(*) FROM customers"); $stmt->execute(); $total_records = $stmt->fetchColumn(); $total_pages = ceil($total_records / $records_per_page); echo "<div>"; for($i = 1; $i <= $total_pages; $i++) { echo "<a href='?page=$i'>$i</a> "; } echo "</div>"; ?>
Kod pertama mentakrifkan nombor rekod dan pembolehubah nombor halaman, dan kemudian menambahkannya pada pernyataan pertanyaan. Dalam gelung, kami mengeluarkan setiap baris data. Seterusnya, kami menanyakan jumlah rekod dan mengira jumlah halaman. Akhirnya, kami mengeluarkan pautan bernombor muka surat.
Kesimpulan
Di atas ialah beberapa contoh penggunaan PDO untuk menanyakan pangkalan data dengan PHP. Kod ini boleh membantu anda menggunakan pernyataan pertanyaan PDO dengan betul dalam aplikasi PHP anda.
Atas ialah kandungan terperinci Cara menggunakan PDO untuk operasi pertanyaan pangkalan data dalam PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!