Bài giảng Phát triển ứng dụng nguồn mở: Bài 3.1 - Đoàn Thiện Ngân
lượt xem 4
download
Bài 3.1 giới thiệu về PHP & MySQL. Chương này gồm có những nội dung chính sau: Cài đặt php, mysql và php-mysql; kết nối PHP với MySQL khai thác cơ sở dữ liệu; phối hợp Netbeans và Web Server. Mời các bạn cùng tham khảo.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng Phát triển ứng dụng nguồn mở: Bài 3.1 - Đoàn Thiện Ngân
- Bài 3.1 PHP & MySQL GV: ĐOÀN THIỆN NGÂN Đoàn Thiện Ngân Bài 3.1 - 1/24
- Nội dung • Cài đặt php, mysql và php-mysql. • Kết nối PHP với MySQL khai thác cơ sở dữ liệu. • Phối hợp Netbeans và Web Server • Ví dụ. Đoàn Thiện Ngân Bài 3.1 - 2/24
- Tài liệu tham khảo 1. PHP Manual. http://www.php.net/docs.php 2. W3schools http://www.w3schools.com/php/ 3. MySQL Manual. http://dev.mysql.com/doc/ 4. Beginning PHP and MySQL: From Novice to Professional, 4th Edition, W. Jason Gilmore, 2010 5. PHP Application Development with NetBeans Beginner's Guide, M.A. Hossain Tonu, Packt Publishing, 2012 Đoàn Thiện Ngân Bài 3.1 - 3/24
- PHP - MySQL Linux • Cài mysql và mysql-server. • Cài Apache web server, PHP • Để dùng MySQL kèm PHP, cài thêm php- mysql (yum tự động chọn thêm php-pdo) MS Windows: • Cài theo thứ tự Apache, php và MySQL • dùng WAMP, XAMP, APPSERVE, … Kiểm tra với trang phpinfo() có mặt mysql và mysqli trong cấu hình PHP (hay Kiểm tra cấu hình /etc/php.ini) Đoàn Thiện Ngân Bài 3.1 - 4/24
- Kiểm tra phpinfo() Đoàn Thiện Ngân Bài 3.1 - 5/24
- Chuẩn bị MySQL User • MySQL có sẵn user root (dùng thử nghiệm kết nối PHP qua MySQL) • Phải đặt mật khẩu cho root để tăng tính bảo mật khi truy cập qua mạng (bắt buộc trước khi thử các trang web). • Có thể dùng lệnh hay Manage Security của MySQL Workbench . $ mysql –u root mysql> set password for root@localhost = password('secret'); Đoàn Thiện Ngân Bài 3.1 - 6/24
- Manage Security • Hay dùng MySQL Workbench – Server Administration – Manage Security • Dùng gedit (Bluefish, Netbeans, …) thử soạn thảo các trang php kết nối với MySQL. Đoàn Thiện Ngân Bài 3.1 - 7/24
- Đoàn Thiện Ngân Bài 3.1 - 8/24
- Netbeans & WAMP server • Tạo thư mục trong wamp server (wwwroot của Apache server) hay tạo alias (xem Apache manual tạo alias) lưu Netbeans projects để dễ thử các chương trình php. • Netbeans (hay hơn Expression Web 4): – Tạo project PHP – Tạo files trong thư mục project – Có thể tạo index.html trong thư mục project để dễ gọi trang web cần thử. – Có cơ chế intellisense code hỗ trợ lập trình PHP rất tốt – dễ dàng cấu hình thử nghiệm với webserver Đoàn Thiện Ngân Bài 3.1 - 9/24
- Application Programming Interface • An Application Programming Interface, or API, defines the classes, methods, functions and variables that your application will need to call in order to carry out its desired task. • In the case of PHP applications that need to communicate with databases the necessary APIs are usually exposed via PHP extensions. Đoàn Thiện Ngân Bài 3.1 - 10/24
- What is an Extension? • An PHP extension typically exposes an API to the PHP programmer, to allow its facilities to be used programmatically. However, some extensions which use the PHP extension framework do not expose an API to the PHP programmer. • The PDO MySQL driver extension, for example, does not expose an API to the PHP programmer, but provides an interface to the PDO layer above it. • The terms API and extension should not be taken to mean the same thing, as an extension may not necessarily expose an API to the programmer. Đoàn Thiện Ngân Bài 3.1 - 11/24
- PHP's MySQL Extension • Three main API options when considering connecting to a MySQL database server: – PHP's MySQL Extension (old, not good) – PHP's mysqli Extension – PHP Data Objects (PDO) • Each has its own advantages and disadvantages. Đoàn Thiện Ngân Bài 3.1 - 12/24
- MySQLI Extension • The mysqli extension allows you to access the functionality provided by MySQL 4.1 and above. • The mysqli extension has a number of benefits, the key enhancements over the mysql extension being: – Object-oriented interface – Support for Prepared Statements – Support for Multiple Statements – Support for Transactions – Enhanced debugging capabilities – Embedded server support Đoàn Thiện Ngân Bài 3.1 - 13/24
- Using the mysqli Extension • PHP’s mysqli extension offers all of the functionality provided by its predecessor, in addition to new features that have been added as a result of MySQL’s evolution into a full-featured database server. • This section shows you how to use the mysqli extension to – connect to the database server – query for and retrieve data –… Đoàn Thiện Ngân Bài 3.1 - 14/24
- Các hàm mysqli http://w3schools.com/php/php_ref_mysqli.asp • mysqli_connect(); mysqli_connect_errno(); mysqli_connect_error(); mysqli_fetch_array(); mysqli_fetch_object(); mysqli_fetch_row(); mysqli_fetch_fields(); mysqli_fetch_field(); … • Chú ý: với mysqli có thể dùng OOP hay dùng hàm (xem ví dụ kèm theo) Đoàn Thiện Ngân Bài 3.1 - 15/24
- connectmysql.php Đoàn Thiện Ngân Bài 3.1 - 16/24
- conmysql2.php Đoàn Thiện Ngân Bài 3.1 - 17/24
- dbconfig.php • Thường dùng tập tin cấu hình db lưu dạng *.php và dùng require_once để gọi. Đoàn Thiện Ngân Bài 3.1 - 18/24
- mysqli_oop.php require_once 'dbconfig.php'; $mysqli = new mysqli($HOST,$USER,$PWD,$DB); if (! $mysqli->connect_errno) {// Create the query $query = 'SELECT * FROM actor ORDER by actor_id'; // Send the query to MySQL $result = $mysqli->query($query, MYSQLI_STORE_RESULT); // Iterate through the result set while(list($actor_id, $first_name, $last_name) = $result->fetch_row()) printf("(%s) %s: \$%s ", $actor_id, $first_name, $last_name); } else echo “Can't connect to $DB”.$mysqli->connect_error; Đoàn Thiện Ngân Bài 3.1 - 19/24
- mysqli_function.php require_once 'dbconfig.php'; $mycon=mysqli_connect($HOST,$USER,$PWD,$DB); if (!mysqli_connect_errno()) { // Create the query $query = 'SELECT * FROM actor ORDER by actor_id'; // Send the query to MySQL $result = mysqli_query($mycon, $query); // Iterate through the result set while(list($actor_id, $first_name, $last_name) = $result->fetch_row()) printf("(%s) %s: \$%s ", $actor_id, $first_name, $last_name); } else echo “Can't connect to $DB”.mysqli_connect_error(); Đoàn Thiện Ngân Bài 3.1 - 20/24
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Phát triển ứng dụng Web – Web Programming: Chương 0 - ThS. Lương Trần Hy Hiến
20 p | 243 | 19
-
Bài giảng Phát triển ứng dụng Web bằng PHP: Phần 2(1) - Dương Khai Phong
45 p | 132 | 17
-
Bài giảng Phát triển ứng dụng Web bằng PHP: Phần 3 - Dương Khai Phong
60 p | 119 | 15
-
Bài giảng Phát triển ứng dụng Web – Web Programming: Chương 5 - ThS. Lương Trần Hy Hiến
0 p | 108 | 15
-
Bài giảng Phát triển ứng dụng Web bằng PHP: Phần 2(2) - Dương Khai Phong
49 p | 131 | 14
-
Bài giảng Phát triển ứng dụng Web bằng PHP: Phần 4 - Dương Khai Phong
50 p | 101 | 12
-
Bài giảng Phát triển ứng dụng cho các thiết bị di động: Phần 2
76 p | 27 | 12
-
Bài giảng Phát triển ứng dụng cho các thiết bị di động: Phần 1
123 p | 48 | 11
-
Bài giảng Phát triển ứng dụng web: Bài 3 - Lê Đình Thanh
42 p | 122 | 11
-
Bài giảng Phát triển ứng dụng Web bằng PHP: Phần 1 - Dương Khai Phong
28 p | 136 | 10
-
Bài giảng Phát triển ứng dụng đa nền tảng - Chương 7: Nguyên lý phát triển ứng dụng với Flutter
88 p | 23 | 8
-
Bài giảng Phát triển ứng dụng đa nền tảng - Chương 8: Đánh giá hiệu năng ứng dụng đa nền tảng
66 p | 24 | 8
-
Bài giảng Phát triển ứng dụng đa nền tảng - Chương 0: Giới thiệu về môn học
27 p | 32 | 7
-
Bài giảng Phát triển ứng dụng đa nền tảng - Chương 2: Tổng quan về kiến trúc của di động
53 p | 20 | 7
-
Bài giảng Phát triển ứng dụng đa nền tảng - Chương 3.2: Cross-Platform
17 p | 21 | 7
-
Bài giảng Phát triển ứng dụng đa nền tảng - Chương 1: Tổng quan về phát triển ứng dụng di động
46 p | 30 | 6
-
Bài giảng Phát triển ứng dụng Web: Bài 6 - Nguyễn Hữu Thể
24 p | 43 | 4
-
Bài giảng Phát triển ứng dụng web: Chương 0 - Lê Đình Thanh
10 p | 15 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn