(NB) Giáo trình PHP & MySQL với mục tiêu chính là Biết kiến thức tổng quan về PHP và MySQL. Cài đặt Hệ quản trị cơ sở dữ liệu MySQL. Cài đặt PHP và cấu hình IIS trên hệ điều hành Windows. Sử dụng phpmyadmin để quản trị MySQL
Trang 1ỦY BAN NHÂN DÂN TỈNH BR – VT
TRƯỜNG CAO ĐẲNG NGHỀ
GIÁO TRÌNH
MÔ ĐUN PHP & MySQL NGHỀ: LẬP TRÌNH MÁY TÍNH TRÌNH ĐỘ: CAO ĐẲNG
Ban hành kèm theo Quyết định số: 01/QĐ-CĐN, ngày 04 tháng 01 năm 2016
của Hiệu trưởng trường Cao đẳng nghề tỉnh Bà Rịa – Vũng Tàu
Trang 3TUYÊN BỐ BẢN QUYỀN
Tài liệu này thuộc loại sách giáo trình nên các nguồn thông tin có thể đượcphép dùng nguyên bản hoặc trích dùng cho các mục đích về đào tạo và thamkhảo
Mọi mục đích khác mang tính lệch lạc hoặc sử dụng với mục đích kinhdoanh thiếu lành mạnh sẽ bị nghiêm cấm
Trang 4LỜI GIỚI THIỆU
Giáo trình “PHP & MySQL” được biên soạn dành cho sinh viên cao đẳngnghề Lập trình máy tính với mục tiêu cung cấp cho người học các kiến thức và
kỹ năng cần thiết để có thể hoàn thành ứng dụng web quảng cáo sản phẩm,thương mại điện tử, … bằng ngôn ngữ PHP sử dụng cơ sở dữ liệu MySQL.Tác giả đã nghiên cứu một số tài liệu, công nghệ hiện đại kết hợp với kinhnghiệm làm việc thực tế để viết nên giáo trình này Nội dung được tác giả trìnhbày cô động, dễ hiểu kèm theo các bước hướng dẫn thực hành chi tiết giúp chongười học dễ tiếp thu các kiến thức cần thiết và hình thành được kỹ năng nghề.Trong quá trình biên soạn, chắc chắn giáo trình còn nhiều thiếu sót Tác giảrất mong nhận được ý kiến đóng góp của quý thầy/cô và các em sinh viên đểtiếp tục hoàn thiện hơn
Xin chân thành cảm ơn quý đồng nghiệp, bạn bè đã có những ý kiến đónggóp trong quá trình xây dựng giáo trình này
Bà Rịa – Vũng Tàu, ngày …… tháng …… năm 2016
Tham gia biên soạn
1 Phan Hữu Phước – Chủ biên
Trang 5MỤC LỤC
MỤC LỤC 1
BÀI 1 TỔNG QUAN VỀ PHP VÀ MYSQL 9
1 Giới thiệu MySQL 9
2 Giới thiệu PHP 9
3 Cài đặt MySQL 9
3.1 Tải MySQL 9
3.2 Cài đặt và cấu hình MySQL 10
4 Cài đặt và cấu hình PHP 10
4.1 Tải PHP 10
4.2 Cài đặt và cấu hình PHP 10
BÀI 2 QUẢN TRỊ MYSQL TRÊN MYSQL COMMAND 11
1 Đăng nhập và chọn CSDL 11
2 Tạo CSDL mới 12
3 Tạo và hủy table 12
4 Đọc, thêm, xóa, cập nhật dữ liệu 13
BÀI 3 QUẢN TRỊ MYSQL TRÊN PHPMYADMIN 15
1 Tải và cấu hình phpmyadmin 15
2 Tạo CSDL 16
3 Hủy CSDL 17
4 Tạo, hiệu chỉnh cấu trúc và hủy table 17
4.1 Tạo table 17
4.2 Hiệu chỉnh cấu trúc table 18
4.3 Hủy table 18
5 Đọc, thêm, xóa, sửa dữ liệu 19
6 Sao lưu và phục hồi dữ liệu 20
6.1 Sao lưu dữ liệu 20
Trang 66.2 Phục hồi dữ liệu 20
BÀI 4 TỔNG QUAN VỀ PHP 22
1 Cấu trúc đoạn mã PHP 22
2 Sử dụng các lệnh xuất 22
3 Khai báo và sử dụng biến 24
4 Sử dụng các toán tử 24
BÀI 5 ĐỌC DỮ LIỆU TỪ ĐỊA CHỈ VÀ FORM 26
1 $_GET 26
2 $_POST 26
3 $_REQUEST 27
BÀI 6 THAO TÁC VỚI CÁC KIỂU DỮ LIỆU TRONG PHP 28
1 Luận lý 28
2 Số nguyên 28
3 Số thực 28
4 Hàm toán học 28
5 Chuỗi, ký tự 29
6 Hàm trên chuỗi 29
7 Mảng 29
6.1 Khai báo 29
6.2 Truy xuất 29
6.3 Hàm trên mảng 30
BÀI 7 CẤU TRÚC ĐIỀU KHIỂN 32
1 if, if … else 32
1.1 Cấu trúc if 32
1.2 Cấu trúc if … else 32
2 switch 33
3 for, foreach 34
3.1 Vòng lặp for 34
Trang 73.2 Vòng lặp foreach 34
4 while, do … while 35
5 Các lệnh break, continue 36
BÀI 8 XÂY DỰNG VÀ SỬ DỤNG HÀM 37
1 Định nghĩa hàm 37
2 Tham số của hàm 37
BÀI 9 SỬ DỤNG INCLUDE VÀ REQUIRE 39
1 include, include_once 39
2 require, require_once 40
BÀI 10 TẠO CÁC LỚP ĐỐI TƯỢNG 41
1 Tổng quan 41
2 Xây dựng lớp đối tượng (class) 42
2.1 Tạo lớp đối tượng 42
2.2 Khai báo thuộc tính 42
2.3 Xây dựng phương thức 42
2.4 Từ khóa static 44
3 Sử dụng lớp đối tượng 44
BÀI 11 TRUY XUẤT MYSQL TRONG PHP 46
1 Giới thiệu PDO 46
2 Lý do chọn PDO 46
3 Tạo kết nối – Hủy kết nối 48
3.1 Tạo kết nối 48
3.2 Hủy kết nối 48
3.3 Xử lý lỗi kết nối 48
4 Thực thi lệnh SQL 49
4.1 Các lệnh Insert, Update, Delete 49
4.2 Câu lệnh Select 49
Trang 86 PDO Statement 50
6.1 Prepared statement 50
6.2 Thực thi 50
6.3 Duyệt dữ liệu 50
6.4 Truyền tham số trong câu truy vấn 52
6.5 Đếm số lượng mẫu tin 52
BÀI 12 CÁC ĐỐI TƯỢNG QUẢN LÝ TRONG PHP 53
1 Session 53
1.1.Khái niệm 53
1.2 Cách thức hoạt động 53
1.3 Khởi động session 53
1.4 Đăng ký session 54
1.5 Sử dụng session 54
1.6 Hủy toàn bộ các biến session 54
1.7 Hủy một biến session 54
2 COOKIE 54
2.1 Khái niệm 54
2.2 Khai báo cookie 54
2.3 Sử dụng cookie 55
2.4 Hủy cookie 55
BÀI 13 SỬ DỤNG JQUERY 56
1 Cài đặt jQuery plugin 56
2 Đóng/mở nội dung trong không gian giới hạn 56
3 Tạo hộp nhập tự động gợi ý nội dung 57
4 Tạo khả năng kéo/thả 57
5 Tạo khả năng kéo/thả để chọn 58
6 Tạo giao diện Tabs 59
7 Tạo Model Popup 60
Trang 98 Tạo Datepicker 60
9 Tạo nút FanPage 61
10 Tạo chức năng Comment 61
TÀI LIỆU THAM KHẢO 62
Trang 10MÔ ĐUN: PHP & MySQL
Vị trí, tính chất, ý nghĩa và vai trò của mô đun:
Sau khi học xong Thiết kế web, Cấu trúc dữ liệu & Giải thuật, Lập trìnhhướng đối tượng, Cơ sở dữ liệu
Cung cấp cho người học kiến thức và kỹ năng để có thể thiết kế, xây dựng
và phát triển ứng dụng web theo hướng mã nguồn mở bằng ngôn ngữ lậptrình PHP với Hệ quản trị cơ sở dữ liệu MySQL
Mục tiêu của mô đun:
Biết kiến thức tổng quan về PHP và MySQL
Cài đặt Hệ quản trị cơ sở dữ liệu MySQL
Cài đặt PHP và cấu hình IIS trên hệ điều hành Windows
Sử dụng phpmyadmin để quản trị MySQL
Xây dựng và phát triển ứng dụng web bằng ngôn ngữ PHP với cơ sở dữliệu MySQL
Thực hiện các bài tập ứng dụng về web đảm bảo đúng trình tự An toàn chongười và thiết bị
Nội dung của mô đun:
T
T Tên các bài trong mô đun
Thời gian
Hình thức giảng dạy
2 Quản trị MySQL trên MySQL Command 7 Tích hợp
3 Quản trị MySQL bằng phpmyadmin 5 Tích hợp
5 Đọc dữ liệu từ địa chỉ và form 3 Tích hợp
6 Thao tác với các kiểu dữ liệu trong PHP 6 Tích hợp
12 Các đối tượng quản lý trong PHP 5 Tích hợp
Trang 11Cộng 105
Trang 13Mục tiêu:
Biết nguồn gốc của PHP, MySQL
Lợi ích khi dùng PHP & MySQL để xây dựng và phát triển web
Biết địa chỉ để tải MySQL và PHP
Cài đặt và cấu hình MySQL
Cài đặt và cấu hình PHP
Chọn và cài đặt đúng version phù hợp với hệ điều hành
1 Giới thiệu MySQL
MySQL là cơ sở dữ liệu nguồn mở phổ biến nhất Thế giới cho phép phân phốicác ứng dụng cơ sở dữ liệu dựa trên nền tảng web với chi phí thấp và hiệu suấtcao MySQL do tập đoàn ORACLE cung cấp
2 Giới thiệu PHP
PHP là ngôn ngữ kịch bản thông dụng đặc trưng phù hợp cho việc phát triển ứngdụng web
Nhanh chóng, linh hoạt và thực tế, PHP phát huy sức mạnh trên mọi ứng dụng
từ blog cho đến những website phổ biến nhất trên Thế giới
3 Cài đặt MySQL
3.1 Tải MySQL
Bước 1: truy cập vào trang web http://dev.mysql.com/downloads/mysql/
Bước 2: chọn hệ điều hành
Trang 14Hình 1.1 Chọn version MySQL phù hợp với hệ điều hành
Bước 3: click chuột lên Download tại dòng Installer MSI để tải tập tin thực thi
cài đặt
3.2 Cài đặt và cấu hình MySQL
Click đôi chuột lên tập tin vừa tải về để cài đặt MySQL
4 Cài đặt và cấu hình PHP
4.1 Tải PHP
Bước 1: truy cập trang web http://php.net/downloads.php
Bước 2: click chuột Windows downloads trong nhóm Current Stable PHP
Bước 3: chọn tải tập tin zip Thread Safe phù hợp với hệ điều hành (32 bit hay 64bit)
4.2 Cài đặt và cấu hình PHP
Giải nén tập tin zip vừa tải và click đôi chuột lên tập tin thực thi cài đặt
Trang 15Mục tiêu:
Biết cấu trúc các lệnh sql trong MySQL
Tạo được CSDL, cấu trúc table trong MySQL trên MySQL Command
Thêm, xóa, sửa dữ liệu trên MySQL Command
Cẩn thận khi thao tác trên các table có quan hệ 1-n
1 Đăng nhập và chọn CSDL
Bước 1: Mở MySQL Command Line Client
Hình 2.1 Nhập mật khẩu đăng nhập tài khoản sa của MySQL
Bước 2: nhập mật khẩu (đã nhập trong quá trình cài đặt MySQL)
Hình 2.2 Giao diện console quản lý MySQL
Bước 3: hiển thị danh sách CSDL đã có bằng lệnh SHOW DATABASES;
Chú ý: mỗi lệnh của MySQL phải kết thúc bằng dấu chấm phẩy “;”
Trang 16Hình 2.3 Xem danh sách CSDL trong MySQL
Bước 4: chọn CSDL cần làm việc bằng lệnh USE <Tên CSDL>;
Hình 2.4 Chọn CSDL làm việc
5 Tạo CSDL mới
Tạo CSDL: dùng lệnh CREATE DATABASE <Tên CSDL>;
Ví dụ: CREATE DATABASE ThuongMaiDienTu;
Hủy CSDL: dùng lệnh DROP <Tên CSDL>;
Ví dụ: DROP ThuongMaiDienTu;
6 Tạo và hủy table
Hiển thị danh sách table trong CSDL: SHOW tables;
Tạo table
CREATE TABLE <TênTable> (
<TênCột> <KDL> [NOT NULL],
[<TênCột_i> <KDLi> [NOT NULL],]
PRIMARY KEY <PK_name> (<TênCột_j>[,TênCột_k])
[,FOREIGN KEY <FK_name> (<TênCột_x>[,<TênCột_y])
REFERENCES <TableCha> (<TênCột_xc>[,<TênCột_yc])
Trang 17[ON DELETE ref_option]
[ON UPDATE ref_option]
CREATE TABLE Lop(
lopID INT NOTNULL AUTO_INCREMENT,
PRIMARY KEY PK_hssv (hssvID),
FOREIGN KEY PK_hssv_lop (lopID)
REFERENCES Lop (lopID)
ON DELETE RESTRICT
ON UPDATE RESTRICT );
Hủy table: DROP TABLE <Tên table>
7 Đọc, thêm, xóa, cập nhật dữ liệu
Sử dụng cấu trúc câu lệnh SQL trong MĐ Cơ sở dữ liệu
CÂU HỎI, BÀI TẬP
Tạo cơ sở dữ liệu CuaHangThoiTrang gồm các table theo yêu cầu sau:
Trang 19Mục tiêu:
Biết địa chỉ tải phpmyadmin
Tải và cấu hình phpmyadmin
Quản trị được MySQL trên phpmyadmin
Tải đúng version phpmyadmin phù hợp với hệ điều hành, MySQL và PHP
1 Tải và cấu hình phpmyadmin
Bước 1: truy cập trang web http://phpmyadmin.net
Bước 2: click chuột lên Download để tải tập tin zip
Hình 3.1 Trang web phpmyadmin.net
Bước 3: giải nén tập tin đã tải
Bước 4: add website phpmyadmin vào IIS
Trang 20Hình 3.2 Cấu hình phpmyadmin trong IIS
Bước 5: truy cập website phpmyadmin theo địa chỉ đã cấu hình trên IIS
Hình 3.3 Đăng nhập vào phpmyadmin
Bước 6: đăng nhập bằng username và password hợp lệ
8 Tạo CSDL
Bước 1: Trong giao diện phpmyadmin, click chuột lên biểu tượng Home ởkhung trái
Trang 21Bước 2: chọn Databases ở khung phải
Bước 3: Nhập tên CSDL cần tạo, chọn utf8_general_ci trong danh sáchCollation rồi chọn Create
Trang 22Hình 3.5 Chọn New để tạo CSDL mới
Bước 2: nhập tên table cần tạo, khai báo danh sách cột và kiểu dữ liệu
Hình 3.6 Tạo cấu trúc cho table
Bước 3: click chuột lên nút
4.2 Hiệu chỉnh cấu trúc table
Bước 1: ở khung trái, chọn table cần hiệu chỉnh
Bước 2: chọn Structure ở khung phải
Hình 3.7 Chọn Structure để hiệu chỉnh cấu trúc table
Mỗi dòng là một cột của table
Muốn xóa cột này thì click chuột lên biểu tượng Drop trên dòng tương ứng
Muốn thay đổi thông tin của cột thì click chuột lên Change
Muốn thêm cột thì nhập số cột cần thêm vào ô bên dưới rồi chọn Go
4.3 Hủy table
Bước 1: chọn CSDL trong khung trái
Trang 23Hình 3.8 Đánh dấu chọn table cần hủy
Bước 2: Trong hình trên, mỗi dòng là một table bên trong CSDL Muốn hủytable nào thì chọn click chuột lên biểu tượng trên dòng tương ứng
Biểu tượng sẽ xóa tất cả dữ liệu trong table nhưng không hủy table
11 Đọc, thêm, xóa, sửa dữ liệu
Bước 1: chọn table trong khung trái
Bước 2: chọn Browse trong khung phải để xem dữ liệu
Hình 3.9 Chọn Browse để thêm, xóa, sửa dữ liệu trong table
Click chuột lên biểu tượng để hiện chỉnh dòng dữ liệu tưng ứng
Clikc chuột lên biểu tượng để xóa dòng dữ liệu
Bước 3: muốn thêm dữ liệu thì click chuột lên biểu tượng
Bước 4: nhập thông tin cho dòng dữ liệu cần thêm rồi click chuột lên nút Go
Trang 24Hình 3.10 Giao diện thêm dòng dữ liệu mới
12 Sao lưu và phục hồi dữ liệu
6.1 Sao lưu dữ liệu
Bước 1: chọn CSDL ở khung trái
Bước 2: chọn
Hình 3.11 Chọn định dạng export dữ liệu
Bước 3: click chuột lên nút Go
Bước 4: chọn ổ đĩa, thư mục chứa tập tin sao lưu
Trang 25Hình 3.12 Chọn dữ liệu import
Bước 4: click chuột lên núg bên dưới
CÂU HỎI, BÀI TẬP
3.1 Tạo CSDL CuaHangThoiTrang bằng phpmyadmin
3.2 Sao lưu dữ liệu CuaHangThoiTrang
3.3 Xóa CSDL CuaHangThoiTrang rồi phục hồi lại
Trang 26Mục tiêu:
Biết cấu trúc của đoạn mã PHP
Biết sử dụng biến, toán tử, các lệnh xuất trong PHP
Cẩn thận kiểu dữ liệu phù hợp khi tính toán
Cẩn thận phân biệt chữ in, thường, cú pháp của PHP
echo “Tên: $ten”;
echo “Họ tên: $holot $ten”;
echo “Họ tên: ” $holot “ ” $ten;
?>
Muốn xuống hàng thì dùng ký tự “\n”
Ví dụ:
Trang 27o $args: các tham số truyền vào chuỗi định dạng.
o Các định dạng đại diện trong $format
%b: tham số là số nguyên, hiển thị dưới dạng nhị phân
%c: tham số là số nguyên, hiển thị dưới dạng ký tự ASCII
%d: tham số là số nguyên, hiển thị dưới dạng số nguyên có dấu
%f: tham số là số thực, hiển thị dưới dạng số thực chấm động
%o: tham số là số nguyên, hiển thị dưới dạng hệ bát phân
%s: tham số là chuỗi, hiển thị dưới dạng chuỗi
%u: tham số là số nguyên, hiển thị dưới dạng số nguyên không dấu
%x, %X: tham số là số nguyên, hiển thị dưới dạng thập lục phân
Trang 2814 Khai báo và sử dụng biến
Khai báo biến: $tên_biến;
Quy tắc đặt tên biến:
o Bắt đầu bằng ký tự $, theo sau là 1 ký tự hoặc dấu _, tiếp đó là ký tự,hoặc số hoặc dấu _
o Nêu khởi tạo giá trị ban đầu ngay khi khai báo biến
o Không trùng tên biến với tên hàm
o Không được bắt đầu bằng ký số
o Lưu ý: phân biệt chữ HOA – chữ thường
Gán giá trị cho biến: $tên_biến = <Giá trị>;
Khai báo biến toàn cục: dùng từ khóa global đặt trước tên biến
Sử dụng hằng
o Hằng là một giá trị không thay đổi trong quá trình thực thi ứng dụng
Ví dụ: PI
o Quy tắc đặt tên hằng: giống tên biến, thường dùng ký tự IN HOA
o Khai báo hằng: define (“TÊN_HẰNG”, <Giá trị>);
Ví dụ: define (“PI”, 3.14);
Các phương thức kiểm tra giá trị của biến
o isset($tên_biến): kiểm tra biến có tồn tại hay không
o empty($tên_biến): kiểm tra biến có rỗng (null, không chứa giá trị) haykhông
o is_numeric($tên_biến): kiểm tra biến có phải là kiểu số hay không
o is_double($ten_biến): kiểm tra biến có double hay không
o gettype($tên_biến): xác định kiểu dữ liệu của biến
15 Sử dụng các toán tử
Trang 29$a -= $b Tương đương với $a = $a - $b
dữ liệu
$a != $b hoặc $a <> $b TRUE nếu $a khác $b
dữ liệu
Nếu $a bằng $b thì trả về 0Nếu $a lớn hơn $b thì trả về 1
Trang 30 Biết phân biệt GET và POST
Biết nhận và xử lý dữ liệu từ địa chỉ và FORM
Thực hiện được các biện pháp an toàn cho máy tính
Cú pháp: $_POST[“tên_điều_khiển”]
Ví dụ: Trên trang trang1.php có form như sau:
<form method=“POST” action=“trang2.php”>
Nhập họ tên: <input type=“text” name=“hoten” />
<input type=“submit” value=“GỬI” />
Trang 3117 $_REQUEST
Là mảng kết hợp bao gồm $_GET và $_POST
Tức là, có thể dùng $_REQUEST thay cho $_GET và $_POST
CÂU HỎI, BÀI TẬP
5.1 Tạo trang hiển thị table có m dòng và n cột với m và n là các tham số trênURL Mỗi ô trong table có nội dung bất kỳ
5.2 Tạo trang chứa form cho phép nhập thông tin cho phân loại thời trang, hiểnthị lại những dữ liệu đã nhập khi người dùng submit
Trang 32 Biết sử dụng các kiểu dữ liệu trong PHP
Biết sử dụng các phép toán, hàm liên quan với các kiểu dữ liệu
Tạo được trang web nhận, xử lý và hiển thị kết quả
Cẩn thận truyền tham số có kiểu dữ liệu phù hợp cho hàm
còn $n số thập phân
rand($x, $y) Trả về số nguyên ngẫu nhiên trong
đoạn từ $x đến $y
Trang 3321 Chuỗi, ký tự
Mỗ ký tự chiếm 1 byte
Mỗi chuỗi có thể chứa một hay nhiều ký tự
Chuỗi không có giới hạn về kích thước
22 Hàm trên chuỗi
strpos($s_main, $s_sub) Trả về vị trí đầu tiên tìm thầy $s_sub
trong $s_main Nếu không tìm thấythì trả về FALSE
str_replace($s1, $s2, $s_main) Tìm trong $s_main, thay $s1 bằng $s2substr($s, $pos, [$len]) Từ vị trí $pos trong $s, lấy ra $len ký
tựimplode(“;”, array($s1, $s2)) Kết hợp $s1 và $s2 thành một chuỗi
cách nhau bằng dấu chấm phẩy “;”explode(“;”, $s) Tách $s thành mảng các chuỗi con
dựa vào dấu chấm phẩm “;”