Rumah > pembangunan bahagian belakang > tutorial php > Bermula dengan PHP: Pangkalan Data PDO

Bermula dengan PHP: Pangkalan Data PDO

WBOY
Lepaskan: 2023-05-20 17:44:01
asal
941 orang telah melayarinya

PHP ialah bahasa pengaturcaraan bahagian pelayan yang sangat popular. Fleksibiliti dan kemudahan penggunaannya menjadikannya salah satu bahasa pilihan untuk pembangunan web. Dalam pembangunan aplikasi web, proses berinteraksi dengan pangkalan data adalah sangat penting (PDO (Objek Data PHP) adalah perpustakaan sambungan PHP yang menyediakan antara muka biasa untuk berinteraksi dengan pelbagai pangkalan data hubungan, termasuk MySQL, PostgreSQL, Oracle, dll. Artikel ini akan memperkenalkan cara menggunakan PDO untuk mengendalikan pangkalan data dan sesuai untuk pemula.

  1. Pasang sambungan PDO

Sebelum menggunakan PDO, anda perlu mengesahkan sama ada PHP telah memasang sambungan PDO. Anda boleh melihat senarai sambungan PHP melalui fungsi phpinfo(). Jika tiada sambungan PDO dalam senarai sambungan, anda perlu menetapkan sambungan=pdo.so dan sambungan=pdo_mysql.so dalam fail php.ini, dan kemudian mulakan semula pelayan web untuk mendayakan sambungan PDO.

  1. Menyambung ke pangkalan data

Sangat mudah untuk menggunakan PDO untuk menyambung ke pangkalan data Anda hanya perlu memberikan maklumat pangkalan data yang berkaitan. Berikut ialah contoh kod untuk menyambung ke pangkalan data MySQL:

$dbname = "test";
$host = "localhost";
$user = "root";
$pass = "password";

$dsn = "mysql:host=" . $host . ";dbname=" . $dbname;
$options = array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
                PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
                PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8");

try {
    $pdo = new PDO($dsn, $user, $pass, $options);
} catch (PDOException $e) {
    echo "Connection failed: " . $e->getMessage();
}
Salin selepas log masuk

Dalam kod di atas, maklumat yang berkaitan pangkalan data ditetapkan untuk pertama kali, termasuk nama pangkalan data, hos, nama pengguna dan kata laluan. Kemudian, gunakan DSN (Nama Sumber Data) untuk memindahkan maklumat pangkalan data ke PDO. Tiga pilihan ditetapkan dalam tatasusunan pilihan:

  • ATTR_ERRMODE, yang mewakili mod pengendalian ralat PDO dan membuang maklumat ralat dalam bentuk pengecualian.
  • ATTR_DEFAULT_FETCH_MODE, menunjukkan cara mendapatkan set hasil, lalai ialah tatasusunan bersekutu.
  • MYSQL_ATTR_INIT_COMMAND, yang bermaksud memulakan perintah SQL dan menetapkan set aksara kepada utf8.

Blok cuba-tangkap menangkap pengecualian apabila menyambung ke pangkalan data dan mengeluarkan maklumat ralat.

  1. Melaksanakan pernyataan SQL

Selepas berjaya menyambung ke pangkalan data, anda boleh melaksanakan pernyataan SQL untuk operasi data. PDO menyediakan tiga objek pernyataan PDO utama:

  • PDO::query(), yang melaksanakan pernyataan pertanyaan SQL dan mengembalikan set hasil. Berlaku pada pernyataan SELECT.
  • PDO::prepare(), menyediakan pernyataan SQL. Berkenaan dengan SELECT, UPDATE, INSERT, DELETE dan pernyataan lain.
  • PDO::exec(), melaksanakan pernyataan SQL dan mengembalikan bilangan baris yang terjejas. Berkenaan dengan KEMASKINI, INSERT, DELETE dan kenyataan lain.

Berikut ialah contoh kod yang menggunakan PDO::query() untuk menanyakan rekod dan output:

$sql = "SELECT * FROM user";
try {
    $stmt = $pdo->query($sql);
    while ($row = $stmt->fetch()) {
        echo "Name: " . $row['name'] . "<br>";
        echo "Age: " . $row['age'] . "<br>";
    }
} catch (PDOException $e) {
    echo "Query failed: " . $e->getMessage();
}
Salin selepas log masuk

Dalam kod di atas, pernyataan pertanyaan SQL pertama kali ditakrifkan untuk membuat pertanyaan rekod jadual pengguna. Kemudian gunakan kaedah query() untuk melaksanakan pernyataan SQL, dan pembolehubah $stmt mengembalikan objek PDOStatement yang mengandungi hasil pertanyaan. Kemudian gunakan kaedah fetch() untuk melintasi set hasil dan keluarkan nama dan umur yang direkodkan dalam setiap baris. Jika ralat berlaku semasa melaksanakan pertanyaan, blok try-catch menangkap pengecualian dan mengeluarkan mesej ralat.

Berikut ialah contoh kod untuk memasukkan rekod menggunakan PDO::prepare():

$sql = "INSERT INTO user(name, age) VALUES(:name, :age)";
try {
    $stmt = $pdo->prepare($sql);
    $stmt->bindParam(':name', $name);
    $stmt->bindParam(':age', $age);

    $name = "Alice";
    $age = 30;
    $stmt->execute();

    echo "Record inserted successfully.";
} catch (PDOException $e) {
    echo "Insert failed: " . $e->getMessage();
}
Salin selepas log masuk

Dalam kod di atas, pernyataan sisipan SQL pertama kali ditakrifkan untuk memasukkan rekod ke dalam jadual pengguna . Gunakan kaedah prepare() untuk memproses penyata SQL dan pembolehubah $stmt mengembalikan objek PDOStatement yang mengandungi pernyataan yang disediakan. Kemudian gunakan kaedah bindParam() untuk mengikat ruang letak dengan parameter sebenar. Kemudian tetapkan nilai parameter, dan akhirnya gunakan kaedah execute() untuk melaksanakan pernyataan SQL. Jika ralat berlaku semasa melakukan sisipan, blok cuba-tangkap menangkap pengecualian dan mengeluarkan mesej ralat.

  1. Tutup sambungan pangkalan data

Apabila sambungan pangkalan data tidak lagi diperlukan, sambungan pangkalan data harus ditutup tepat pada masanya untuk mengeluarkan sumber. Anda boleh menggunakan kaedah PDO::null() untuk menutup, contohnya:

$pdo = null;
Salin selepas log masuk

Di atas ialah contoh mudah menggunakan PDO untuk operasi pangkalan data. Menggunakan PDO bukan sahaja mudah, tetapi juga sangat mudah alih dan selamat. Dengan mempelajari kaedah yang diterangkan dalam artikel ini, anda boleh mula dengan cepat dan mula menggunakan PDO untuk pembangunan aplikasi web anda sendiri.

Atas ialah kandungan terperinci Bermula dengan PHP: Pangkalan Data PDO. 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