Phân biệt khi nào sử dụng PDO và mở rộng
mysqli
Cách sử dụng câu lệnh dựng sẵn khi làm việc với
PDO
Cách sử dụng chế độ hiển thị lỗi
Cách sử dụng mysqli trong cả hai hướng lập
trình hướng đối tượng và hướng cấu trúc
Bài 3 Lập trình PHP (phần 1) - Giáo trình FPTMasterCode.vn
Giới thiệu về cơ sở dữ liệu quan hệ và MySQL
Giới thiệu về cơ sở dữ liệu quan hệ
Các kiểu dữ liệu thông dụng trong MySQL
Các câu lệnh dùng để thao tác dữ liệu trong SQL
Giới thiệu MySQL
Sử dụng phpMyAdmin
Sử dụng PHP với MySQL
Sử dụng PHP để làm việc với MySQL
Lấy dữ liệu từ tập kết quả
Mô hình MVC
Giới thiệu về mô hình MVC
Hướng dẫn viết hàm
Hướng dẫn chuyển hướng yêu cầu
Nhắc lại bài cũ
Giới thiệu về cơ sở dữ liệu quan hệ và MySQL
Giới thiệu về cơ sở dữ liệu quan hệ
Các kiểu dữ liệu thông dụng trong MySQL
Các câu lệnh dùng để thao tác dữ liệu trong SQL
Giới thiệu MySQL
Sử dụng phpMyAdmin
Sử dụng PHP với MySQL
Sử dụng PHP để làm việc với MySQL
Lấy dữ liệu từ tập kết quả
Mô hình MVC
Giới thiệu về mô hình MVC
Hướng dẫn viết hàm
Hướng dẫn chuyển hướng yêu cầu
Bài 3 Lập trình PHP (phần 1) - Giáo trình FPTMasterCode.vn
Giới thiệu về cơ sở dữ liệu quan hệ và MySQL
Giới thiệu về cơ sở dữ liệu quan hệ
Các kiểu dữ liệu thông dụng trong MySQL
Các câu lệnh dùng để thao tác dữ liệu trong SQL
Giới thiệu MySQL
Sử dụng phpMyAdmin
Sử dụng PHP với MySQL
Sử dụng PHP để làm việc với MySQL
Lấy dữ liệu từ tập kết quả
Mô hình MVC
Giới thiệu về mô hình MVC
Hướng dẫn viết hàm
Hướng dẫn chuyển hướng yêu cầu
Nhắc lại bài cũ
Giới thiệu về cơ sở dữ liệu quan hệ và MySQL
Giới thiệu về cơ sở dữ liệu quan hệ
Các kiểu dữ liệu thông dụng trong MySQL
Các câu lệnh dùng để thao tác dữ liệu trong SQL
Giới thiệu MySQL
Sử dụng phpMyAdmin
Sử dụng PHP với MySQL
Sử dụng PHP để làm việc với MySQL
Lấy dữ liệu từ tập kết quả
Mô hình MVC
Giới thiệu về mô hình MVC
Hướng dẫn viết hàm
Hướng dẫn chuyển hướng yêu cầu
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng webMasterCode.vn
Cách tổ chức mô hình MVC
Ưu điểm của mô hình MVC trong việc phát triển
ứng dụng web
Cách tạo và gọi hàm theo phong cách mô hình
MVC
Phân biệt khi nào nên forward hoặc chuyển
hướng yêu cầu HTTP
Giới thiệu về framework CakePHP
Tài liệu lập trình PHP từ căn bản đến nâng caoZendVN
Khóa học lập trình PHP chuyên nghiệp version 2015 của ZendVN là một khóa học PHP Online. Khóa học PHP này cung cấp cho các bạn kiến thức về lập trình PHP từ căn bản đến nâng cao. Các bạn sẽ tự học PHP thông qua các video mà ZendVN đã xây dựng sẵn theo giáo trình PHP của ZendVN biên soạn.
ZendVN bảo đảm đây là một trong những khóa học PHP có chất lượng tốt nhất hiện nay ở Việt Nam. Khóa học PHP này được dựa trên những kinh nghiệm thực tế trong quá trình làm việc của ZendVN với các dự án lớn của nước ngoài.
Bài 3 Một số kỹ thuật lập trình PHP nâng cao - Xây dựng ứng dụng webMasterCode.vn
Cách tạo một biểu thức chính quy và xử lý bằng
hàm preg_match
Cách sử dụng biểu thức chính quy nhiều dòng,
toàn cục
Cách sử dụng hàm preg_replace và preg_split
để làm việc với biểu thức chính quy
Cơ chế sử dụng biểu thức chính quy trong xác
thực dữ liệu
Cơ chế tạo, ném và xử lý ngoại lệ
Tài liệu Zend Framework 2 - Cài đặt và cấu hình Zend Framework 2 - Bài 2KhanhPham
Tài liệu Zend Framework 2 - Cài đặt và cấu hình Zend Framework 2 - Bài 2. Hướng dẫn cách cài đặt, cấu hình ZF2.
Để tìm hiểu kỹ hơn các bạn hãy truy cập;
Website: www.zend.vn
Facebook: https://www.facebook.com/zendvngroup
Khóa học lập trình Zend Framework của ZendVN là một khóa học về PHP framework nâng cao và chuyên sâu. Sau khi hoàn tất khóa học này các bạn sẽ có một nền tảng vững chắc về lập trình hướng đối tượng PHP, hiểu được cấu trúc mô hình MVC trong các PHP framework hiện nay, hiểu rõ về các thư viện trong Zend Framework và có thể tự nghiên cứu các thư viện PHP framework bất kỳ dựa trên nền tảng của khóa học Zend Framework.
Hướng dẫn xây dựng ứng dụng web theo mô hình MVC bằng ngôn ngữ JavaHuy Vũ
Hướng dẫn xây dựng ứng dụng web bằng ngôn ngữ Java theo mô hình MVC
Tham khảo sourcecode vui lòng liên hệ email: pinuit11@gmail.com
Chúc các bạn học tập thật tốt!
Session 5 : mvc - Giáo trình Bách Khoa AptechMasterCode.vn
The document discusses the Model-View-Controller (MVC) design pattern for web applications. It describes MVC's separation of the model, view, and controller components. It also outlines two MVC architectures (Model I and Model II), comparing their advantages and limitations, such as Model I being page-centric while Model II is servlet-centric. The goal of MVC is to separate application logic and presentation for improved code maintenance and reuse.
Bài 1 Lập trình website theo mô hình MVC - Xây dựng ứng dụng webMasterCode.vn
Cách tổ chức mô hình MVC
Ưu điểm của mô hình MVC trong việc phát triển
ứng dụng web
Cách tạo và gọi hàm theo phong cách mô hình
MVC
Phân biệt khi nào nên forward hoặc chuyển
hướng yêu cầu HTTP
Giới thiệu về framework CakePHP
Tài liệu lập trình PHP từ căn bản đến nâng caoZendVN
Khóa học lập trình PHP chuyên nghiệp version 2015 của ZendVN là một khóa học PHP Online. Khóa học PHP này cung cấp cho các bạn kiến thức về lập trình PHP từ căn bản đến nâng cao. Các bạn sẽ tự học PHP thông qua các video mà ZendVN đã xây dựng sẵn theo giáo trình PHP của ZendVN biên soạn.
ZendVN bảo đảm đây là một trong những khóa học PHP có chất lượng tốt nhất hiện nay ở Việt Nam. Khóa học PHP này được dựa trên những kinh nghiệm thực tế trong quá trình làm việc của ZendVN với các dự án lớn của nước ngoài.
Bài 3 Một số kỹ thuật lập trình PHP nâng cao - Xây dựng ứng dụng webMasterCode.vn
Cách tạo một biểu thức chính quy và xử lý bằng
hàm preg_match
Cách sử dụng biểu thức chính quy nhiều dòng,
toàn cục
Cách sử dụng hàm preg_replace và preg_split
để làm việc với biểu thức chính quy
Cơ chế sử dụng biểu thức chính quy trong xác
thực dữ liệu
Cơ chế tạo, ném và xử lý ngoại lệ
Tài liệu Zend Framework 2 - Cài đặt và cấu hình Zend Framework 2 - Bài 2KhanhPham
Tài liệu Zend Framework 2 - Cài đặt và cấu hình Zend Framework 2 - Bài 2. Hướng dẫn cách cài đặt, cấu hình ZF2.
Để tìm hiểu kỹ hơn các bạn hãy truy cập;
Website: www.zend.vn
Facebook: https://www.facebook.com/zendvngroup
Khóa học lập trình Zend Framework của ZendVN là một khóa học về PHP framework nâng cao và chuyên sâu. Sau khi hoàn tất khóa học này các bạn sẽ có một nền tảng vững chắc về lập trình hướng đối tượng PHP, hiểu được cấu trúc mô hình MVC trong các PHP framework hiện nay, hiểu rõ về các thư viện trong Zend Framework và có thể tự nghiên cứu các thư viện PHP framework bất kỳ dựa trên nền tảng của khóa học Zend Framework.
Hướng dẫn xây dựng ứng dụng web theo mô hình MVC bằng ngôn ngữ JavaHuy Vũ
Hướng dẫn xây dựng ứng dụng web bằng ngôn ngữ Java theo mô hình MVC
Tham khảo sourcecode vui lòng liên hệ email: pinuit11@gmail.com
Chúc các bạn học tập thật tốt!
Session 5 : mvc - Giáo trình Bách Khoa AptechMasterCode.vn
The document discusses the Model-View-Controller (MVC) design pattern for web applications. It describes MVC's separation of the model, view, and controller components. It also outlines two MVC architectures (Model I and Model II), comparing their advantages and limitations, such as Model I being page-centric while Model II is servlet-centric. The goal of MVC is to separate application logic and presentation for improved code maintenance and reuse.
Slides nói rõ về mô hình MVC trong lập trình ứng dụng web với ngôn ngữ Java.
Tham khảo Sourcecode vui lòng liên hệ email: pinuit11@gmail.com
Chúc các bạn học tập tốt!
Lập trình sáng tạo creative computing textbook mastercode.vnMasterCode.vn
Lập trình sáng tạo bao gồm việc sáng tạo. Khoa học máy tính và các ngành liên quan tới tính toán đã từ lâu đƣợc giới thiệu tới những ngƣời trẻ tuổi một cách rời rạc – quá nhấn mạnh kĩ thuật so với khả năng sáng tạo. Lập trình sáng tạo giúp cho sự phát triển của cá nhân đối với tính toán trở nên tốt hơn, bằng cách hỗ trợ vẽ vời dựa trên sáng tạo, tƣởng tƣợng, và sở thích.
Học Hướng Đối Tượng là một cách tuyệt vời để nâng cao trình độ lập trình của bạn. Khi thực thi đúng, Hướng Đối Tượng sẽ giúp bạn tạo ra những mã lệnh dễ đọc, dễ bảo trì và mang tính di động cao, giúp cho bạn tiết kiệm được rất nhiều thời gian làm việc.
Zend Framework 2.0: Upload file và Multi upload files trong ZF2 - Bài 9KhanhPham
Zend Framework 2.0: Upload file và Multi upload files trong ZF2 - Bài 9
Để tìm hiểu kỹ hơn các bạn hãy truy cập:
Website: www.zend.vn
Facebook: facebook.com/zendvngroup
Youtube: youtube.com/user/luutruonghailan
Dù bạn là ai, dù mục đích học tiếng Anh của bạn đơn thuần chỉ là có tấm bằng trong tay để xin việc hay cao siêu hơn là có thể nói thông viết thạo thì việc nằm lòng các ngữ pháp tiếng Anh ẩn chứa sức mạnh ghê gớm dưới đây cũng là bước cơ bản giúp bạn master tiếng Anh
This document summarizes the key findings from a survey of 594 IT professionals on performance and monitoring practices:
- Application code and databases most commonly have frequent performance issues that need to be addressed within weeks. Database performance problems are the hardest to fix.
- Finding the root cause of performance issues is still the most time-consuming part of the problem-solving process and it often takes teams less than a week on average to resolve issues.
- Monitoring tools are most effective at discovering performance problems, followed by application logs and performance tests. However, manual firefighting and lack of actionable insights from tools remain key challenges.
- Parallel programming and optimizing for multi-core processors is still not a primary
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vnMasterCode.vn
Các doanh nghiệp cần luôn có mặt trên online để khách hàng dễ dàng thấy họ mỗi khi tìm kiếm. "Mùa vụ" hay giai đoạn mà lượng
tìm kiếm về sản phẩm dịch vụ của doanh nghiệp trên Google bỗng gia tăng chính là thời điểm tuyệt vời để tận dụng.Các doanh nghiệp
có thể tối đa hoá doanh thu trong thời kì cao điểm này bằng cách lên chiến lược quảng cáo "luôn online" gắn liền với mục tiêu mùa.
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vnMasterCode.vn
Meta Tag là thẻ dùng để cung cấp các thông tin về website một cách tóm gọn đối với các trình duyệt lẫn người dùng hay bot từ các search engine. Mọi người hay nghe Meta Keyword, Meta Description, Meta Page title,..
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vnMasterCode.vn
Google Webmaster Tools • Google Analytics phân tích traffic • SEO Power Suite , web auditor đ onpage • Ahrefs, phân tích t khóa và Link • OpenSiteExplorer phân tích link profile • Firexfox Extensions: SEO Doctor cho onpage, NoDofollow • SEOMoz Toolbar đ check PA và DA •Free Monitor for Google đ check RANK •SEOMOZ pro check onpage
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vnMasterCode.vn
Cơ chế hoạt động Google Tên miền Cấu trúc website Meta Tag (Title, Description, H1-H6, ALT...) URL thân thiện, Sitemap, robots.txt Keyword Density Tốc độ tải trang
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
Những chú ý đặc biệt khi hỗ trợ người dùng máy tính xách tay Cài đặt, cấu hình, tối ưu, sửa chữa các thiết bị ngoại vi hay dùng với máy tính xách tay Nâng cấp, thay thế các thiết bị máy tính xách tay Nguyên lý hoạt động của máy in Cài đặt máy in
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
Tìm hiểu các quy trình xử lý đảm bảo an toàn Tìm hiểu phương pháp bảo trì phòng ngừa cho máy tính cá nhân Tìm hiểu cách phát hiện và xử lý sự cố máy tính
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
Đưa ra kế hoạch bảo trì phòng ngừa Rà soát các thiết lập Windows trọng yếu Làm sạch ổ cứng Chống phân mảnh ổ đĩa Kiểm tra lỗi ổ cứng Rà soát các chương trình khởi động và dịch vụ Tiến hành các thủ tục sao lưu Lập kế hoạch khắc phục thảm họa Sao lưu dữ liệu người dùng / toàn bộ ổ cứng Tối ưu Windows Các công cụ tối ưu: Task Manager, MSConfig, Services Console, Computer Management Cải thiện hiệu năng Windows Đưa ra kế hoạch bảo trì phòng ngừa Rà soát các thiết lập Windows trọng yếu Làm sạch ổ cứng Chống phân mảnh ổ đĩa Kiểm tra lỗi ổ cứng Rà soát các chương trình khởi động và dịch vụ Tiến hành các thủ tục sao lưu Lập kế hoạch khắc phục thảm họa Sao lưu dữ liệu người dùng / toàn bộ ổ cứng Tối ưu Windows Các công cụ tối ưu: Task Manager, MSConfig, Services Console, Computer Management Cải thiện hiệu năng Windows
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
Biết được các công nghệ chế tạo ổ cứng Hiểu được cấu tạo ổ cứng Phân biệt rõ các chuẩn giao tiếp giữa hệ thống với ổ cứng Thông hiểu cách tổ chức lưu trữ dữ liệu trong ổ cứng Giải quyết các vấn đề liên quan đến ổ cứng Biết được các công nghệ chế tạo ổ cứng Hiểu được cấu tạo ổ cứng Phân biệt rõ các chuẩn giao tiếp giữa hệ thống với ổ cứng Thông hiểu cách tổ chức lưu trữ dữ liệu trong ổ cứng Giải quyết các vấn đề liên quan đến ổ cứng
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
Nhận biết được đặc điểm và thông số kỹ thuật của các CPU dùng cho máy tính cá nhân Thông hiểu cách lựa chọn CPU cho hệ thống Thông hiểu cách lắp mới và thay thế CPU Thông hiểu các phương pháp tản nhiệt cho CPU Thông hiểu các loại RAM khác nhau và nguyên lý hoạt động của chúng. Thông hiểu các vấn đề cần thiết khi nâng cấp RAM
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
Nhắc lại các khái niệm cơ bản về phần cứng và phần mềm. Giới thiệu về các thành phần của máy tính. Nắm được vị trí sắp xếp của các thành phần bên trong case, các loại case khác nhau. Nắm được các thông số về nguồn điện được sử dụng để vận hành hệ thống máy tính. Ước lượng công suất của hệ thống và chọn bộ cấp nguồn và thiết bị lưu điện cho phù hợp. Nhận biết và xử lý một số vấn đề thường gặp liên quan đến nguồn điện
Pdf bai 7 làm việc với truy vấn nâng cao-slide 07-quan tri csdl voi access-ma...
Bài 2 Các kỹ thuật lập trình MySQL với PHP nâng cao - Xây dựng ứng dụng web
1. Bài 2
Các kỹ thuật lập trình MySQL
với PHP nâng cao
2. Phân biệt khi nào sử dụng PDO và mở rộng
mysqli
Cách sử dụng câu lệnh dựng sẵn khi làm việc với
PDO
Cách sử dụng chế độ hiển thị lỗi
Cách sử dụng mysqli trong cả hai hướng lập
trình hướng đối tượng và hướng cấu trúc
Mục tiêu
Bài 2 - Các kỹ thuật lập trình MySQL với PHP nâng cao 2
3. PDO
Mysqli
Hàm PHP làm việc với MySql có sẵn
Các cách sử dụng PHP
để làm việc với MySQL
Bài 2 - Các kỹ thuật lập trình MySQL với PHP nâng cao 3
4. Làm việc với truy vấn dựng sẵn
Ưu nhược điểm của PDO
Thiết lập chế độ hiển thị lỗi cho PDO
Làm việc với PDO
Bài 2 - Các kỹ thuật lập trình MySQL với PHP nâng cao 4
5. Ưu điểm:
Được tích hợp trong PHP phiên bản 5.1 trở lên và
dùng được cho phiên bản 5.0.
Cung cấp giao tiếp hướng đối tượng.
Cung cấp một giao tiếp nhất quán cho phép lưu
chuyển dữ liệu giữa các hệ cơ sở dữ liệu khác nhau
như Oracle, DB2, Microsoft SQL Server, PostgreSQL.
Tận dụng hầu hết ưu điểm các tính năng mới của
MySQL phiên bản 4.1.3 trở lên.
PDO (PHP Data Object)
Bài 2 - Các kỹ thuật lập trình MySQL với PHP nâng cao 5
6. Nhược điểm:
Không làm việc trên PHP phiên bản 4.x, 3.x hay các
phiên bản trước đó.
Không tận dụng ưu điểm của các tính năng tiên tiến
mới của MySQL phiên bản 4.1.3 trở lên, như tính
năng lồng câu lệnh SQL.
PDO (PHP Data Object)
Bài 2 - Các kỹ thuật lập trình MySQL với PHP nâng cao 6
7. Ưu điểm:
Được tích hợp trong PHP phiên bản 5 trở lên.
Hỗ trợ cả giao tiếp hướng đối tượng và giao tiếp kiểu
cấu trúc.
Tận dụng tất cả các tính năng mới của MySQL phiên
bản 4.1.3 trở lên.
Nhược điểm:
Không làm việc với các hệ cơ sở dữ liệu khác ngoài
MySQL.
mysqli (mở rộng MySQL cải tiến)
Bài 2 - Các kỹ thuật lập trình MySQL với PHP nâng cao 7
10. Sử dụng phương thức fetchAll để trả về tập kết
quả:
Ví dụ
Bài 2 - Các kỹ thuật lập trình MySQL với PHP nâng cao 10
$query = 'SELECT * FROM products';
$statement = $db->prepare($query);
$statement->execute();
$products = $statement->fetchAll();
$statement->closeCursor();
foreach ($products as $product) {
echo $product['productName'] . '<br />';
}
11. Sử dụng phương thức fetch để duyệt qua một
tập kết quả:
Ví dụ
Bài 2 - Các kỹ thuật lập trình MySQL với PHP nâng cao 11
$query = 'SELECT * FROM products';
$statement = $db->prepare($query);
$statement->execute();
$product = $statement->fetch(); // lấy bản ghi đầu tiên
while ($product ! = null) {
echo $product['productName'] . '<br />';
$product = $statement->fetch(); // lấy bản ghi
tiếp theo
}
$statement->closeCursor();
12. Sử dụng tham số danh định
(named parameter)
Bài 2 - Các kỹ thuật lập trình MySQL với PHP nâng cao 12
$category_id = 1;
$price = 400;
$query = 'SELECT * FROM products
WHERE categoryID = :categoryid
AND listPrice > :price';
$statement = $db->prepare($query);
$statement->bindValue(':categoryid', $category_id);
$statement->bindValue(':price', $price);
$statement->execute();
$products = $statement->fetchAll();
$statement->closeCursor();
13. Sử dụng tham số dấu hỏi
(question mark parameter)
Bài 2 - Các kỹ thuật lập trình MySQL với PHP nâng cao 13
$query = 'SELECT * FROM products
WHERE categoryID = ?
AND listPrice > ?';
$statement = $db->prepare($query);
$statement->bindValue(1, $category_id);
$statement->bindValue(2, $price);
$statement->execute();
$products = $statement->fetchAll();
$statement->closeCursor();
14. Thay đổi dữ liệu
Bài 2 - Các kỹ thuật lập trình MySQL với PHP nâng cao 14
// Dữ liệu mẫu
$category_id = 2;
$code = 'hofner';
$name = 'Hofner Icon';
$price = '499.99';
// Thiết lập và thực thi câu lệnh
$query = 'INSERT INTO products
(categoryID, productCode, productName, listPrice)
VALUES
(:category_id, :code, :name, :price)';
$statement = $db->prspare($query);
$statement->bindValue(':categoryid', $category_id);
$statement->bindValue(':code', $code);
$statement->bindValue(':name', $name);
$statement->bindValue(':price', $price);
$success = $statement->execute();
15. Thay đổi dữ liệu
Bài 2 - Các kỹ thuật lập trình MySQL với PHP nâng cao 15
$row_count = $statement->rowCount();
$statement->closeCursor();
// Lấy ID sản phẩm cuối cùng
$product_id = $db->lastlnsertId();
// Hiển thị thông báo cho người sử dụng
if ($success) {
echo "<p>$row_count row(s) was inserted with this ID:
$product_id</p>"; } else {
echo "<p>No rows were inserted.</p>";
}
17. Sử dụng hàm khởi tạo của lớp PDO để thiết lập
chế độ xử lý lỗi:
Ví dụ
Bài 2 - Các kỹ thuật lập trình MySQL với PHP nâng cao 17
$dsn = 'mysql:host=localhost;dbname=my_guitar_shopl';
$username = 'mgs_user';
$password = 'pa55word';
$options = array(PDO::ATTR_ERRMODE =>
PDO::ERRMODEEXCEPTION);
try {
$db = new PDO($dsn, $username, $password, $options);
} catch (PDOException $e) {
$error_message = $e->getMessage();
echo "<p>Error connecting to database: $error_message
</p>";
exit();
}
18. Sử dụng phương thức setAttribute để thiết lập
chế độ xử lý lỗi:
Sử dụng cặp lệnh try/catch để bắt các đối tượng
PDOException:
Ví dụ
Bài 2 - Các kỹ thuật lập trình MySQL với PHP nâng cao 18
$db->setAttribute(PDO::ATTRERRMODE, PDO::ERRMODE_EXCEPTION);
try {
$query = 'SELECT * FROM product';
$statement = $db->prepare($query);
$statement->execute();
$products = $statement->fetchAll();
$statement->closeCursor();
} catch (PDOException $e) {
$error_message = $e->getMessage();
echo "<p>Database error: $error_message </p>";
exit();
19. Kết nối với CSDL
Truy vấn và cập nhật dữ liệu
Làm việc với truy vấn dựng sẵn
So sánh giao diện hướng đối tượng và hướng
cấu trúc
Làm việc với mysqli
Bài 2 - Các kỹ thuật lập trình MySQL với PHP nâng cao 19
20. Kết nối đến cơ sở dữ liệu MySQL (kiểu hướng
đối tượng):
Hướng dẫn kết nối đến cơ sở dữ liệu MySQL
(kiểu cấu trúc):
mysqli
Bài 2 - Các kỹ thuật lập trình MySQL với PHP nâng cao 20
$host = 'localhost';
$username = 1mgsuser';
$password = 'pa55word';
$db_name = 'myguitarahopl';
@ $db = new mysqli($host, $username, $password,
$db_name);
$host = 'localhost';
$username = 'mgsuser';
$password = 'pa55word';
$db_name = 'my_guitar_shopl';
@ $db = mysqliconnect($host, $username, $password,
$db_name);
22. Kiểm tra lỗi kết nối (kiểu hướng đối tượng):
Hướng dẫn kiểm tra lỗi kết nối (kiểu cấu trúc):
Ví dụ
Bài 2 - Các kỹ thuật lập trình MySQL với PHP nâng cao 22
$connection_error = $db->connect_error;
if ($connection_error 1= null) {
echo "<p>Error connecting to database:
$connection_error</p>"; exit();
}
$connection_error = mysqli_connect_error();
if ($connection_error != null) {
echo "<p>Error connecting to database:
$connection_error</p>"; exit();
}
23. Phương thức của lớp mysqli trả về tập kết quả:
Thuộc tính và phương thức của lớp
mysqli_resultset:
Lớp mysqli
Bài 2 - Các kỹ thuật lập trình MySQL với PHP nâng cao 23
Phương thức Giải thích
query($select_statement) Thực thi câu lệnh SQL trong ngoặc và trả về đối
tượng mysqli cho tập kết quả. Nếu không có kết
quả nào được tìm thấy, hàm sẽ trả về giá trị
FALSE
Thuộc tính/Phương thức Giải thích
num_rows Số bản ghi của tập kết quả.
Fetch_assoc() Trả về tập kết quả là một mảng liên kết
24. Hướng dẫn thực thi câu lệnh SELECT:
Ví dụ
Bài 2 - Các kỹ thuật lập trình MySQL với PHP nâng cao 24
// Thực thi câu lệnh
$category_id = 2;
$query = "SELECT * FROM products
WHERE categoryID = $category_id";
$result = $db->query($query);
// Kiểm tra tập kết quả trả về
if ($result == false) {
$error_message = $db->error;
echo "<p>An error occurred: $error_message</p>"; exit{);
}
// Lấy ra số dòng có trong tập kết quả
$row_count = $result->num_rows;
25. Hướng dẫn hiển thị kết quả:
Ví dụ
Bài 2 - Các kỹ thuật lập trình MySQL với PHP nâng cao 25
<?php for ($i = 0; $i < $row_count; $i++) :
$product = $result->fetch_assoc();
?>
<tr>
<tdx?php echo $product ['productID1 ] ; ?></td>
<tdx?php echo $product ['categoryID1 ] ; ?></td>
<tdx?php echo $product ['productCode'] ; ?></td>
<tdx?php echo $product ['productName'] ; ?x/td>
<tdx?php echo $product ['listPrice'] ; ?x/td>
</tr>
<?php endfor; ?>
26. Giải phóng tài nguyên được dùng bởi tập kết
quả và kết nối cơ sở dữ liệu:
Ví dụ
Bài 2 - Các kỹ thuật lập trình MySQL với PHP nâng cao 26
$result->free(); // Giải phóng tập kết quả
$db->close(); // Giải phóng kết nối tới cơ sở dữ liệu
27. Thuộc tính Giải thích
affectedrows Trả về số hàng bị ảnh hưởng. Nếu không có hàng bị ảnh hưởng,
thuộc tính này trả về số không
insert_id Trả về ID được tự động tạo ra trong truy vấn trước đó. Nếu
không có ID được tạo ra, thuộc tính này trả về số không
error Trả về thông báo lỗi nếu có lỗi xảy ra. Nếu không, nó sẽ trả về
một chuỗi rỗng
errno Trả về số nguyên ký hiệu mã lỗi nếu có lỗi. Nếu không có lỗi, trả
về 0
Các thuộc tính của lớp mysqli
dùng để kiểm tra kết quả
Bài 2 - Các kỹ thuật lập trình MySQL với PHP nâng cao 27
28. Thực thi lệnh INSERT:
Ví dụ
Bài 2 - Các kỹ thuật lập trình MySQL với PHP nâng cao 28
// Dữ liệu mẫu
$category_id = 2;
$code = 'hofner';
$name = 'Hofner Icon';
$price = 499.99;
// Thực thi câu lệnh SQL
$query = "INSERT INTO products
(categoryID, productCode, productName, listPrice) VALUES
($category_id, '$code', '$name', $price)"; $success = $db-
>query($query);
29. Ví dụ
Bài 2 - Các kỹ thuật lập trình MySQL với PHP nâng cao 29
// Kiểm tra kết quả
if ($success) {
$count = $db->affected_rows;
echo "<p>$count product(s) were added.</p>";
} else {
$error_message = $db->error;
echo "<p>An error occurred: $error_message</p>";
}
// Kiểm tra ID của sản phẩm vừa được tự động tạo ra
$product_id = $db->insert_id;
echo "<p>Generated product ID: $product_id</p>";
30. Phương thức của lớp mysqli:
prepare($sql_statement)
Phương thức của lớp mysqli_stmt:
bind_param($fs, $vl [, $v2]...)
bind result($vl [, $v2]...)
execute()
fetch()
close ()
Làm việc với câu lệnh SQL dựng sẵn
Bài 2 - Các kỹ thuật lập trình MySQL với PHP nâng cao 30
31. Thực thi một câu lệnh dựng sẵn trả về một tập
kết quả:
Ví dụ
Bài 2 - Các kỹ thuật lập trình MySQL với PHP nâng cao 31
$category_id = 2;
$query = "SELECT productCode, productName, listPrice
FROM products WHERE categoryID = ?";
$statement = $db->prspare($query);
$statement->bind_param("i", $category_id);
$statement->bind_result($code, $name, $listPrice);
$statement->execute();
32. Hiển thị tập kết quả:
Đóng câu lệnh:
Ví dụ
Bài 2 - Các kỹ thuật lập trình MySQL với PHP nâng cao 32
<?php while($statement->fetch()) : ?>
<tr>
<tdx?php echo $code; ?></td>
<tdx?php echo $name; ?x/td>
<tdx?php echo $listPrice; ?></td>
</tr>
<?php endwhile; ?>
$statement->close()
33. Thực thi câu lệnh SQL dựng sẵn để thay đổi dữ
liệu:
Ví dụ
Bài 2 - Các kỹ thuật lập trình MySQL với PHP nâng cao 33
$category_id = 2;
$code = 'hofner';
$name = 'Hofner Icon';
$price = 499.99;
$query = "INSERT INTO products
(categoryID, productCode, productName, listPrice)
VALUES
(?, ?, ?, ?)";
$statement = $db->prspars($query);
$statement->bind_param("issd", $category_id, $code, $name,
$price);
$success = $statement->execute();
34. Ví dụ
Bài 2 - Các kỹ thuật lập trình MySQL với PHP nâng cao 34
if ($success) {
$count = $db->affected_rows;
echo "<p>$count product(s) were added.</p>";
} else {
$error_message = $db->error;
echo "<p>An error occurred: $error_message</p>";
}
$statement->close();
35. Câu lệnh kiểu hướng đối tượng
và hướng cấu trúc
Bài 2 - Các kỹ thuật lập trình MySQL với PHP nâng cao 35
$result = $db->query($query);
$result = mysqli_query($db, $query);
$error_message = $db->srror;
$error_message = mysqlierror($db);
$row = $result->fetch_assoc();
$row = mysqli_fetch_assoc($result);
$row_count = $result->num_rows;
$row_count = mysqlinumrows($result);
$count = $db->affected_rows;
$count = mysqliaffectsdrows($db);
36. Câu lệnh kiểu hướng đối tượng
và hướng cấu trúc
Bài 2 - Các kỹ thuật lập trình MySQL với PHP nâng cao 36
$result->frees();
mysqli_free_result($result);
$statement = $db->prepare($query);
$statement = mysqli_prepare($db, $query);
$statement->bind param ("i", $category_id);
mysqli_bind_param($statement, "i", $category_id);
$success = $statement->execute();
$success = mysqlisxscute($statement);
$db->close();
mysqliclose($db);
37. MySQL cung cấp giao diện lập trình ứng dụng
(API) cho biết loại ứng dụng nào có thể làm việc
với MySQL
PHP cung cấp ba mở rộng để làm việc với thư
viện API của MySQL: mysql, mysqli, PDO
Khi sử dụng PDO để thực thi các câu lệnh SQL,
bạn có thể lựa chọn ba chế độ bắt và xử lý lỗi.
So với câu lệnh SQL động, câu lệnh SQL dựng
sẵn giúp tăng hiệu năng và độ bảo mật
Tổng kết bài học
Bài 2 - Các kỹ thuật lập trình MySQL với PHP nâng cao 37