Tóm lược. trong hướng dẫn này, bạn sẽ học từng bước cách kết nối với cơ sở dữ liệu MySQL từ PHP bằng PDO
điều kiện tiên quyết
Trước khi kết nối với máy chủ cơ sở dữ liệu MySQL, bạn cần có
- Máy chủ cơ sở dữ liệu MySQL, cơ sở dữ liệu và tài khoản có quyền truy cập vào cơ sở dữ liệu
- Trình điều khiển PDO MySQL được kích hoạt trong php. tập tin ini
1) Đặt tham số cơ sở dữ liệu MySQL
Giả sử bạn có một máy chủ cơ sở dữ liệu MySQL cục bộ có các thông tin sau
- Chủ nhà là
<?php require 'config.php';
Code language: HTML, XML (xml)4 - Cơ sở dữ liệu
<?php require 'config.php';
Code language: HTML, XML (xml)5 trên máy chủ cơ sở dữ liệu cục bộ - Tài khoản với người dùng
<?php require 'config.php';
Code language: HTML, XML (xml)6 và mật khẩu<?php require 'config.php';
Code language: HTML, XML (xml)7 có thể truy cập cơ sở dữ liệu<?php require 'config.php';
Code language: HTML, XML (xml)5
Trong PHP, bạn có thể tạo tệp
<?php require 'config.php';
Code language: HTML, XML (xml)9 và đặt các tham số cơ sở dữ liệu<?php $host = 'localhost'; $db = 'bookdb'; $user = 'root'; $password = 'S@cr@t1!';
Code language: HTML, XML (xml)Để sử dụng các tham số cơ sở dữ liệu, bạn có thể bao gồm tệp
<?php require 'config.php';
Code language: HTML, XML (xml)9 bằng cách sử dụng cấu trúc;extension=php_pdo_mysql.dll
1<?php require 'config.php';
Code language: HTML, XML (xml)2) Bật trình điều khiển PDO_MySQL
PDO_MYSQL là trình điều khiển triển khai giao diện PDO. PDO sử dụng trình điều khiển PDO_MYSQL để kết nối với cơ sở dữ liệu MySQL
Để kiểm tra driver PDO_MYSQL đã được bật hay chưa, bạn mở file
;extension=php_pdo_mysql.dll
2. Tệp;extension=php_pdo_mysql.dll
2 thường nằm trong thư mục;extension=php_pdo_mysql.dll
4. Ví dụ: bạn có thể tìm thấy tệp;extension=php_pdo_mysql.dll
2 trong thư mục;extension=php_pdo_mysql.dll
6 nếu bạn sử dụng;extension=php_pdo_mysql.dll
7 trên WindowsPhần sau hiển thị dòng mở rộng trong tệp
;extension=php_pdo_mysql.dll
2________số 8Để bật tiện ích mở rộng, bạn cần bỏ ghi chú bằng cách xóa dấu chấm phẩy (
;extension=php_pdo_mysql.dll
9) khỏi đầu dòng như thế này<?php require 'config.php';
Code language: HTML, XML (xml)9Sau đó, bạn cần khởi động lại máy chủ web để thay đổi có hiệu lực
Tên nguồn dữ liệu MySQL
PDO sử dụng tên nguồn dữ liệu (DSN) chứa thông tin sau
- Máy chủ lưu trữ cơ sở dữ liệu
- Tên cơ sở dữ liệu
- Người dùng
- Mật khẩu
- và các thông số khác như bộ ký tự, v.v.
PDO sử dụng thông tin này để tạo kết nối với máy chủ cơ sở dữ liệu. Để kết nối với máy chủ cơ sở dữ liệu MySQL, bạn sử dụng định dạng tên nguồn dữ liệu sau
<?php require 'config.php';
Code language: HTML, XML (xml)0Ví dụ
<?php require 'config.php';
Code language: HTML, XML (xml)1Lưu ý rằng bộ ký tự UTF-8 đặt bộ ký tự của kết nối cơ sở dữ liệu thành UTF-8
Kết nối với MySQL
Tập lệnh
<?php require 'config.php';
Code language: HTML, XML (xml)90 sau đây minh họa cách kết nối với cơ sở dữ liệu<?php require 'config.php';
Code language: HTML, XML (xml)5 trên máy chủ cơ sở dữ liệu MySQL bằng tài khoản<?php require 'config.php';
Code language: HTML, XML (xml)6<?php require 'config.php';
Code language: HTML, XML (xml)5Làm thế nào nó hoạt động
- Đầu tiên, tạo một đối tượng PDO mới với tên nguồn dữ liệu, người dùng và mật khẩu. Đối tượng PDO là một thể hiện của lớp
<?php require 'config.php';
Code language: HTML, XML (xml)93 - Thứ hai, hiển thị thông báo thành công nếu kết nối được thiết lập thành công hoặc thông báo lỗi nếu xảy ra lỗi
Nếu bạn đã thiết lập mọi thứ chính xác, bạn sẽ thấy thông báo sau
<?php require 'config.php';
Code language: HTML, XML (xml)7Chiến lược xử lý lỗi
PDO hỗ trợ ba chiến lược xử lý lỗi khác nhau
<?php require 'config.php';
Code language: HTML, XML (xml)94 – PDO đặt mã lỗi để kiểm tra bằng phương pháp<?php require 'config.php';
Code language: HTML, XML (xml)95 và<?php require 'config.php';
Code language: HTML, XML (xml)96.<?php require 'config.php';
Code language: HTML, XML (xml)94 là chế độ mặc định<?php require 'config.php';
Code language: HTML, XML (xml)98 – Bên cạnh việc đặt mã lỗi, PDO sẽ đưa ra thông báo<?php require 'config.php';
Code language: HTML, XML (xml)99<?php require 'config.php';
Code language: HTML, XML (xml)00 – Bên cạnh việc đặt mã lỗi, PDO sẽ tăng<?php require 'config.php';
Code language: HTML, XML (xml)01
Để đặt chiến lược xử lý lỗi, bạn có thể chuyển một mảng kết hợp tới hàm tạo PDO như thế này
<?php require 'config.php';
Code language: HTML, XML (xml)6Hoặc bạn có thể sử dụng phương pháp
<?php require 'config.php';
Code language: HTML, XML (xml)02 của phiên bản PDO<?php require 'config.php';
Code language: HTML, XML (xml)8Xử lý sự cố
Có một số vấn đề phổ biến khi bạn kết nối với cơ sở dữ liệu MySQL
Nếu trình điều khiển MySQL không được bật trong tệp
;extension=php_pdo_mysql.dll
2, bạn sẽ nhận được thông báo lỗi<?php require 'config.php';
Code language: HTML, XML (xml)0Nếu bạn cung cấp mật khẩu không chính xác, bạn sẽ nhận được thông báo lỗi sau
<?php require 'config.php';
Code language: HTML, XML (xml)1Nếu bạn cung cấp tên cơ sở dữ liệu không hợp lệ hoặc cơ sở dữ liệu không tồn tại, bạn sẽ nhận được thông báo lỗi sau