Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan PDO untuk operasi pertanyaan pangkalan data dalam PHP

Cara menggunakan PDO untuk operasi pertanyaan pangkalan data dalam PHP

PHPz
PHPzasal
2023-04-12 09:19:571104semak imbas

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.

  1. Sambung ke pangkalan data

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.

  1. Menyiasat satu baris data

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.

  1. Menyiasat data berbilang baris

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.

  1. Data pertanyaan dan paparkannya dalam halaman

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[&#39;page&#39;]) ? $_GET[&#39;page&#39;] : 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=&#39;?page=$i&#39;>$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!

Kenyataan:
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