Bài giảng PHP (Hypertext Preprocessing) - Chương 5: PHP & CSDL
Số trang: 21
Loại file: pdf
Dung lượng: 444.29 KB
Lượt xem: 13
Lượt tải: 0
Xem trước 3 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng PHP (Hypertext Preprocessing) - Chương 5: PHP & CSDL trình bày các nội dung chính sau: Sử dụng PHP để kết nối với CSDL, PEAR DB, các chức năng nâng cao với PEAR DB,... Mời các bạn cùng tham khảo để nắm nội dung chi tiết.
Nội dung trích xuất từ tài liệu:
Bài giảng PHP (Hypertext Preprocessing) - Chương 5: PHP & CSDLV. PHP & CSDLV.1. Sử dụng PHP để kết nối với CSDLV.2. PEAR DBV.3. Các chức năng nâng cao với PEAR DBV.1. Sử dụng PHP để kết nối vớiCSDL Có 2 cách kết nối PHP với CSDL – Sử dụng các hàm riêng cho từng loại CSDL Ưu điểm: Tốc độ cao do được thiết kế cho từng CSDL cụ thể. Tận dụng được ưu điểm của từng loại CSDL Nhược điểm: Không có tính khả chuyển giữa các CSDL – Sử dụng các hàm độc lập CSDL (thư viện PEAR DB) Ưu điểm: Có thể sử dụng trên nhiều CSDL khác nhau Nhược điểm: Chậm hơn phương pháp trên, không tận dụng được ưu điểm của từng CSDL.V.1. Sử dụng PHP để kết nối với CSDL(2) Cài đặt thư viện PEAR – Yêu cầu: PHP phiên bản 5.0 – Cài đặt PHP – Chạy go-pear.bat – Theo các hướng dẫn trong chương trình (các tham số chỉ cần đặt mặc định) Nếu không cài đặt PEAR, mà copy từ máy khác, phải thêm vào C:/Windows/PHP.INI 2 dòng như ở dưới Cấu hình Zend Studio để làm việc với PEAR DB – Thêm vào file $Zend_dir/bin/php5/php.ini 2 dòng include_path=.;C:/php/pear extension_dir=c:/php/ext – Copy file libMySQL.dll vào $Windows/$System (nếu bạn sử dụng IIS)Các bước cài đặt kiểu mì ăn liền Cài IIS, cài Mysql 5.0, cài PHP Copy $MysqlinlibMysql.dll đến c:windowssystem32 Copy PHP.rar đè lên thư mục c:/PHP Sửa nội dung c:windowssystem32PHP.INI, thêm vào các dòng sau (để ở cuối file) include_path=.;C:/php/pear extension_dir= c:/php/ext extension=php_mysql.dll Sau đó, có thể chạy được trên local host (trên Zend thì phải config thêm, tốt nhất là đừng config) V.2. PEAR DBV.2. PEAR DB (2)V.2.1. Data source nameV.2.2. Kết nối với cơ sở dữ liệuV.2.3. Kiểm tra lỗiV.2.4. Thực thi queryV.2.5. Lấy kết quả từ queryV.2.6. Giải phóng bộ nhớV.2.1. Data source name dsn=Data Source Name Type Database type://username:password@protocol+host Mysql MySQL spec/database Pgsql PostgreSQL Ví dụ: – mysql:///webdb mysql://localhost/webdb Ibase InterBase mysql://bondview@localhost/webdb Msql Mini SQL mysql://bondview@tcp+localhost/webdb mysql://bondview:007@localhost/webdb Mssql Microsoft SQL Server oci8 Oracle 7/8/8i Odbc ODBC Sybase SyBase Ifx Informix Fbsql FrontBaseV.2.2. Kết nối với cơ sở dữ liệu Khi đã có DSN, bạn có thể kết nối bằng hàm DB::connect với cú pháp sau: – $db = DB::connect(DSN [, options ]); – options có thể là 1 giá trị Boolean hoặc 1 mảng $db = DB::connect($dsn, array(debug => 1, optimize => portability));V.2.3. Kiểm tra lỗi Các phương thức của DB trả về DB_ERROR nếu có lỗi trong quá trình thực hiện Bạn có thể kiểm tra 1 kết quả trả về có phải là lỗi không bằng hàm DB::isError(); Nếu DB::isError() trả về true, kết quả trả về của bạn là lỗi, có thể xem thông báo lỗi bằng phương thức $tenbien- >getMessage() $db = DB::connect($datasource); if (DB::isError($db)) { die($db->getMessage( )); }V.2.4. Thực thi query Để thực thi query, sử dụng phương thức query() của Database Object (đối tượng trả về khi bạn kết nối thành công với CSDL bằng hàm DB::connect() ); $db = DB::connect($datasource); $result = $db->query(sql); Cũng tương tự như DB::connect(), bạn có thể kiểm tra lỗi bằng DB::isError() if (DB::iserror($result)) { die($result->getMessage()); }V.2.5. Lấy kết quả từ query $row = $result->fetchRow([ mode ]); Hàm fetchRow() trả về mảng các giá trị trên dòng hoặc DB_ERROR (nếu có lỗi) V.2.5. Lấy kết quả từ query (2) $row = $result->fetchRow([ mode ]); mode: – DB_FETCHMODE_ORDERED: Các cột được liệt kê trên $row theo thứ tự 0,1,2... – DB_FETCHMODE_ASSOC : Các cột được liệt kê với khóa là tên của các cột – DB_FETCHMODE_OBJECT: Các cột được liệt kê thành các trường của đối tượng V.2.5. Lấy kết quả từ query (3) V.2.6. Giải phóng bộ nhớ V.3. Các chức năng nâng cao với PEARDBV.3.1. Query templateV.3.2. Prepare/ExecuteV.3.3. Các hàm tiện íchV.3.4. Các thông tin trả về từ query()V.3.5. Metadata V.3.1. Query template Để xây dựng các query, nếu dùng phép nối xâu kí tự rất dễ gây nhầm lẫn do không nhìn thấy tổng thể của câu lệnh SQL (nhất là với các trường hợp có sử dụng dấu nháy) Trong trường hợp ...
Nội dung trích xuất từ tài liệu:
Bài giảng PHP (Hypertext Preprocessing) - Chương 5: PHP & CSDLV. PHP & CSDLV.1. Sử dụng PHP để kết nối với CSDLV.2. PEAR DBV.3. Các chức năng nâng cao với PEAR DBV.1. Sử dụng PHP để kết nối vớiCSDL Có 2 cách kết nối PHP với CSDL – Sử dụng các hàm riêng cho từng loại CSDL Ưu điểm: Tốc độ cao do được thiết kế cho từng CSDL cụ thể. Tận dụng được ưu điểm của từng loại CSDL Nhược điểm: Không có tính khả chuyển giữa các CSDL – Sử dụng các hàm độc lập CSDL (thư viện PEAR DB) Ưu điểm: Có thể sử dụng trên nhiều CSDL khác nhau Nhược điểm: Chậm hơn phương pháp trên, không tận dụng được ưu điểm của từng CSDL.V.1. Sử dụng PHP để kết nối với CSDL(2) Cài đặt thư viện PEAR – Yêu cầu: PHP phiên bản 5.0 – Cài đặt PHP – Chạy go-pear.bat – Theo các hướng dẫn trong chương trình (các tham số chỉ cần đặt mặc định) Nếu không cài đặt PEAR, mà copy từ máy khác, phải thêm vào C:/Windows/PHP.INI 2 dòng như ở dưới Cấu hình Zend Studio để làm việc với PEAR DB – Thêm vào file $Zend_dir/bin/php5/php.ini 2 dòng include_path=.;C:/php/pear extension_dir=c:/php/ext – Copy file libMySQL.dll vào $Windows/$System (nếu bạn sử dụng IIS)Các bước cài đặt kiểu mì ăn liền Cài IIS, cài Mysql 5.0, cài PHP Copy $MysqlinlibMysql.dll đến c:windowssystem32 Copy PHP.rar đè lên thư mục c:/PHP Sửa nội dung c:windowssystem32PHP.INI, thêm vào các dòng sau (để ở cuối file) include_path=.;C:/php/pear extension_dir= c:/php/ext extension=php_mysql.dll Sau đó, có thể chạy được trên local host (trên Zend thì phải config thêm, tốt nhất là đừng config) V.2. PEAR DBV.2. PEAR DB (2)V.2.1. Data source nameV.2.2. Kết nối với cơ sở dữ liệuV.2.3. Kiểm tra lỗiV.2.4. Thực thi queryV.2.5. Lấy kết quả từ queryV.2.6. Giải phóng bộ nhớV.2.1. Data source name dsn=Data Source Name Type Database type://username:password@protocol+host Mysql MySQL spec/database Pgsql PostgreSQL Ví dụ: – mysql:///webdb mysql://localhost/webdb Ibase InterBase mysql://bondview@localhost/webdb Msql Mini SQL mysql://bondview@tcp+localhost/webdb mysql://bondview:007@localhost/webdb Mssql Microsoft SQL Server oci8 Oracle 7/8/8i Odbc ODBC Sybase SyBase Ifx Informix Fbsql FrontBaseV.2.2. Kết nối với cơ sở dữ liệu Khi đã có DSN, bạn có thể kết nối bằng hàm DB::connect với cú pháp sau: – $db = DB::connect(DSN [, options ]); – options có thể là 1 giá trị Boolean hoặc 1 mảng $db = DB::connect($dsn, array(debug => 1, optimize => portability));V.2.3. Kiểm tra lỗi Các phương thức của DB trả về DB_ERROR nếu có lỗi trong quá trình thực hiện Bạn có thể kiểm tra 1 kết quả trả về có phải là lỗi không bằng hàm DB::isError(); Nếu DB::isError() trả về true, kết quả trả về của bạn là lỗi, có thể xem thông báo lỗi bằng phương thức $tenbien- >getMessage() $db = DB::connect($datasource); if (DB::isError($db)) { die($db->getMessage( )); }V.2.4. Thực thi query Để thực thi query, sử dụng phương thức query() của Database Object (đối tượng trả về khi bạn kết nối thành công với CSDL bằng hàm DB::connect() ); $db = DB::connect($datasource); $result = $db->query(sql); Cũng tương tự như DB::connect(), bạn có thể kiểm tra lỗi bằng DB::isError() if (DB::iserror($result)) { die($result->getMessage()); }V.2.5. Lấy kết quả từ query $row = $result->fetchRow([ mode ]); Hàm fetchRow() trả về mảng các giá trị trên dòng hoặc DB_ERROR (nếu có lỗi) V.2.5. Lấy kết quả từ query (2) $row = $result->fetchRow([ mode ]); mode: – DB_FETCHMODE_ORDERED: Các cột được liệt kê trên $row theo thứ tự 0,1,2... – DB_FETCHMODE_ASSOC : Các cột được liệt kê với khóa là tên của các cột – DB_FETCHMODE_OBJECT: Các cột được liệt kê thành các trường của đối tượng V.2.5. Lấy kết quả từ query (3) V.2.6. Giải phóng bộ nhớ V.3. Các chức năng nâng cao với PEARDBV.3.1. Query templateV.3.2. Prepare/ExecuteV.3.3. Các hàm tiện íchV.3.4. Các thông tin trả về từ query()V.3.5. Metadata V.3.1. Query template Để xây dựng các query, nếu dùng phép nối xâu kí tự rất dễ gây nhầm lẫn do không nhìn thấy tổng thể của câu lệnh SQL (nhất là với các trường hợp có sử dụng dấu nháy) Trong trường hợp ...
Tìm kiếm theo từ khóa liên quan:
Bài giảng PHP Hypertext Preprocessing Sử dụng PHP Chức năng nâng cao với PEAR DB Kiểm tra lỗi Thực thi query Lấy kết quả từ queryGợi ý tài liệu liên quan:
-
56 trang 19 0 0
-
Bài giảng PHP (Hypertext Preprocessing) - Chương 1: Làm quen với PHP
18 trang 17 0 0 -
Bài giảng PHP (Hypertext Preprocessing) - Nguyễn Phú Quảng
161 trang 16 0 0 -
Bài giảng PHP (Hypertext Preprocessing) - Chương 6: Tổ chức ứng dụng PHP
10 trang 16 0 0 -
Bài giảng PHP (Hypertext Preprocessing) - Chương 2: PHP căn bản
66 trang 15 0 0 -
Bài giảng PHP (Hypertext Preprocessing) - Chương 7: Hình ảnh
14 trang 13 0 0 -
Lập trình web - Chương 8 PHP nâng cao
35 trang 11 0 0 -
Bài giảng PHP (Hypertext Preprocessing) - Chương 4: Làm việc với file
14 trang 11 0 0 -
Hướng dẫn giao tiếp Serial port sử dụng VB.Net 2008 qua một số ví dụ
10 trang 10 0 0 -
CakePHP Framework: Cho người mới bắt đầu
9 trang 10 0 0