intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng Phát triển ứng dụng nguồn mở: Bài 3.1 - Đoàn Thiện Ngân

Chia sẻ: 5A4F5AFSDG 5A4F5AFSDG | Ngày: | Loại File: PDF | Số trang:24

57
lượt xem
4
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

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.

Chủ đề:
Lưu

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

  1. 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
  2. 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
  3. 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
  4. 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
  5. Kiểm tra phpinfo() Đoàn Thiện Ngân Bài 3.1 - 5/24
  6. 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
  7. 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
  8. Đoàn Thiện Ngân Bài 3.1 - 8/24
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. connectmysql.php Đoàn Thiện Ngân Bài 3.1 - 16/24
  17. conmysql2.php Đoàn Thiện Ngân Bài 3.1 - 17/24
  18. 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
  19. 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
  20. 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
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
11=>2