Bài giảng Lập trình viên mã nguồn mở (Module 3) - Bài 4: Kết hợp PHP và MySQL - thư viện PDO 1 trình bày các nội dung chính sau: Khái niệm PDO, tạo kết nối - hủy kết nối, thực thi lệnh SQL. Mời các bạn cùng tham khảo để nắm nội dung chi tiết.
Trang 1Go Screen Capture
Trang 2Lập trình viên mã nguồn mở PHP — Module 3 LTV Mã nguồn mở PHP - Module 3 2 Giới thiệu TH
¬ ”PDO - PHP Data Objects — là một lớp truy cập dữ liệu (database access layer) cung
x z A A ˆ `
Trang 3Giới thiệu
1 PDO cung cấp một lớp truy cập dữ liệu trừu tượng
(data-access abstraction layer), nghia la, du chung
ta đang sử dụng CSDL nào, chúng ta đều có thể sử dụng các phương thức như nhau đề truy vấn và lấy dữ liệu
Trang 4Lập trình viên mã nguồn mở PHP — Module 3
Lý do chọn PDO
¬ Hướng đối tượng: rất phù hợp đề chúng ta tích hợp vào mô hình MVC (Rất nhiều
framework lớn hiện nay điều sử dụng PDO) Mô hình làm việc giữa PDO và các loại CSDL LTV Mã nguồn mở PHP - Module 3 6 ĐỂ Lý do chọn PDO esos
Trang 5sis, Ly do chon PDO 33°
O Linh déng: dé chuyén déi sang CSDL khac ta chỉ việc thay đồi tên driver tương ứng
Trang 6Lập trình viên mã nguồn mở PHP — Module 3 LTV Mã nguồn mở PHP - Module 3 10 Tạo kết nối - hủy kết nói n Tạo kết nói e Cú pháp: $dbh = new PDO(<driver>, <username>, <password>, <driver_options>); e Tham số:
“ <driver>: tên driver dùng để làm việc CSDL “ <username>: tên đăng nhập vào CSDL
= <password>: mat khẩu dùng để truy cập vào CSDL
Trang 7Tạo kết nối - hủy kết nói
O Tao két noi
e Server hé tro’ kha nhiéu driver:
“-PDO_ DBLIB (Microsoft SQL Server)
= PDO_IBM (IBM DB2)
= PDO MYSQL (MySQL 3.x/4.x/5.x)
Trang 9Tạo kết nối - hủy kết nói oss: Xử lý lỗi kết nói try { $dbh = new PDO('mysal:host=localhost;dbname= test’, ‘root’, °); $dbh = null;
} catch (PDOException $e) {
Trang 10Lập trình viên mã nguồn mở PHP — Module 3 sis, Thực thi lệnh S@L seo Câu lệnh Insert, update, delete $dbh->exec(<query>); e‹ Tham số - query: tham số bắt buộc, là câu lệnh truy vấn được gửi đi
- $Sdbh->exec(): Kết quả là tổng số dòng bị ảnh hưởng Nếu không có dòng nào bị tác động thì kết quả là 0 Nếu
không thực thi được câu lệnh thì kết quả là False
a LTV Mã nguồn mở PHP - Module 3 18
sis
Thực thi lệnh S@L seo
e« Ví dụ: Thực hiện lệnh xóa tất cả các dòng