Cara menggunakan PDO untuk operasi pertanyaan pangkalan data dalam PHP

PHPz
Lepaskan: 2023-04-12 10:53:34
asal
1095 orang telah melayarinya

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();
}
?>
Salin selepas log masuk

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>";
?>
Salin selepas log masuk

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>";
}
?>
Salin selepas log masuk

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>";
?>
Salin selepas log masuk

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!

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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!