Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menyambung ke pangkalan data dalam PHP menggunakan PDO

Bagaimana untuk menyambung ke pangkalan data dalam PHP menggunakan PDO

王林
王林asal
2023-05-17 08:15:053351semak imbas

PHP ialah bahasa skrip sebelah pelayan yang popular yang tujuan utamanya adalah untuk membangunkan aplikasi web. Sambungan pangkalan data adalah bahagian penting dalam aplikasi web, jadi dalam artikel ini, kami akan memperkenalkan cara menyambung ke pangkalan data menggunakan Objek Data PHP (PDO). PDO ialah lapisan abstraksi dalam PHP yang menyediakan cara yang mudah, selamat dan pantas untuk berinteraksi dengan pelbagai pangkalan data. Dalam artikel ini, kami akan menggunakan MySQL sebagai contoh.

  1. Persediaan

Sebelum menggunakan PDO untuk menyambung ke pangkalan data, anda perlu memastikan sambungan PDO dipasang dalam PHP anda dan sambungan itu didayakan. Jika tidak, anda perlu menambah sambungan PDO pada fail konfigurasi PHP anda (php.ini). Anda boleh menentukan sama ada anda telah mendayakan sambungan PDO menggunakan arahan berikut:

php -m | grep pdo

Jika anda melihat PDO dan PDO_MYSQL dipaparkan dalam senarai, maka anda sudah bersedia untuk menggunakan PDO untuk menyambung ke pangkalan data MySQL anda.

  1. Sambung ke pangkalan data MySQL

Langkah pertama untuk menyambung ke pangkalan data MySQL ialah mencipta objek PDO. Untuk mencipta objek PDO, anda perlu memberikan maklumat berikut:

  • Nama Sumber Data (DSN): Menunjukkan jenis dan lokasi pangkalan data yang anda ingin sambungkan.
  • Nama Pengguna dan Kata Laluan: Akaun pengguna yang digunakan untuk mengesahkan pangkalan data yang disambungkan.

Berikut ialah contoh kod PDO untuk menyambung ke pangkalan data MySQL:

<?php
$hostname = 'localhost'; // MySQL主机名
$database = 'mydatabase'; // 数据库名称
$username = 'myusername'; // 用户名
$password = 'mypassword'; // 密码

try {
    $dsn = "mysql:host=$hostname;dbname=$database";
    $pdo = new PDO($dsn, $username, $password);
    echo '成功连接到数据库!';
} catch (PDOException $exception) {
    die('连接数据库时发生错误:'.$exception->getMessage());
}

Dalam kod di atas, kami menggunakan pembolehubah $dsn untuk menyimpan DSN untuk menyambung ke pangkalan data MySQL. Format DSN ini ialah "mysql:host=host name;dbname=database name". Hantar DSN ini kepada pembina PDO untuk mencipta objek PDO. Jika sambungan berjaya, teks "Berjaya disambungkan ke pangkalan data!" Jika ralat berlaku, menggunakan blok tangkapan akan mengeluarkan mesej ralat.

  1. Kueri Pangkalan Data MySQL

Selepas menyambung ke pangkalan data MySQL, anda boleh melakukan pelbagai pertanyaan untuk mendapatkan semula data dan mengemas kini pangkalan data. Berikut ialah beberapa contoh penggunaan PDO untuk melaksanakan pertanyaan MySQL dalam PHP:

  • Mencari data:
$sql = "SELECT * FROM users WHERE id = :id";
$stmt = $pdo->prepare($sql);
$stmt->execute(['id' => 1]);
$result = $stmt->fetchAll();
print_r($result);

Dalam contoh di atas, kami menggunakan kaedah penyediaan PDO untuk Menyediakan pernyataan pertanyaan . Gantikan bahagian yang perlu diubah suai dalam pernyataan pertanyaan (iaitu, ":id" dalam "id = :id") dengan ruang letak. Kami menggunakan kaedah laksana untuk melaksanakan pernyataan pertanyaan dan memberikannya nilai pemegang tempat untuk ditanya. Akhirnya, keputusan dikembalikan sebagai tatasusunan menggunakan kaedah fetchAll.

  • Sisipkan data:
rreee

Dalam contoh di atas, kami menggunakan kaedah penyediaan PDO untuk menyediakan pernyataan pertanyaan. Pemegang tempat dalam pernyataan pertanyaan digantikan dengan "?" Kami menggunakan kaedah laksana untuk melaksanakan pernyataan pertanyaan dan memberikannya nilai pemegang tempat untuk dimasukkan. Akhir sekali, dapatkan bilangan rekod yang dimasukkan melalui kaedah rowCount.

  • Kemas kini data:
rreee

Dalam contoh di atas, kami menggunakan kaedah penyediaan PDO untuk menyediakan pernyataan pertanyaan. Pemegang tempat dalam pernyataan pertanyaan digantikan dengan "?" Kami menggunakan kaedah laksana untuk melaksanakan pernyataan pertanyaan dan memberikannya nilai pemegang tempat untuk dikemas kini. Akhir sekali, gunakan kaedah rowCount untuk mendapatkan bilangan rekod yang dikemas kini.

  • Padam data:
$sql = "INSERT INTO users (name, email) VALUES (?, ?)";
$stmt = $pdo->prepare($sql);
$stmt->execute(['John Doe', 'johndoe@example.com']);
echo $stmt->rowCount() . ' 行数据已添加到数据库';

Dalam contoh di atas, kami menggunakan kaedah penyediaan PDO untuk menyediakan pernyataan pertanyaan. Pemegang tempat dalam pernyataan pertanyaan digantikan dengan "?" Kami menggunakan kaedah laksana untuk melaksanakan pernyataan pertanyaan dan memberikannya nilai pemegang tempat untuk dipadamkan. Akhir sekali, gunakan kaedah rowCount untuk mendapatkan bilangan rekod yang dipadam.

  1. Tutup sambungan pangkalan data

Selepas anda menyelesaikan operasi pertanyaan pada pangkalan data, sebaiknya tutup sambungan pangkalan data. Ini menghalang sambungan yang tidak perlu daripada dikekalkan untuk baki pelaksanaan skrip dan mengurangkan penggunaan sumber pada pelayan pangkalan data semasa tempoh beban tinggi. Apabila menggunakan PDO untuk menyambung ke pangkalan data MySQL dalam PHP, anda boleh menggunakan kod berikut untuk menutup sambungan:

$sql = "UPDATE users SET name = ? WHERE id = ?";
$stmt = $pdo->prepare($sql);
$stmt->execute(['Jane Doe', 1]);
echo $stmt->rowCount() . ' 行数据已更新';

Dalam kod di atas, $pdo ialah objek PDO yang kami cipta semasa menyambung ke pangkalan data MySQL. Apabila objek pdo ditutup, objek pdo dimusnahkan dan sambungan ke pangkalan data dikeluarkan supaya sambungan pangkalan data baharu boleh diwujudkan dengan pelanggan lain.

Ringkasan

Menggunakan PHP Data Objects (PDO) untuk menyambung ke pangkalan data MySQL menjadikannya lebih mudah dan pantas untuk kami melaksanakan operasi pangkalan data. Dalam artikel ini, kami memperkenalkan kaedah asas cara menggunakan objek PDO untuk sambungan pangkalan data dan pertanyaan. Jika anda ingin memahami lebih banyak butiran dan ciri lanjutan PDO, anda boleh merujuk kepada dokumentasi PHP rasmi dan meningkatkan pengalaman anda melalui latihan berterusan.

Atas ialah kandungan terperinci Bagaimana untuk menyambung ke pangkalan data dalam PHP menggunakan PDO. 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