Bài giảng Mã nguồn mở: Chương 6 - ThS. Nguyễn Minh Thành
Số trang: 18
Loại file: pdf
Dung lượng: 99.84 KB
Lượt xem: 15
Lượt tải: 0
Xem trước 2 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng Mã nguồn mở: Chương 6 PHP & MYSQL nhằm trình bày các nội dung chính như: kết nối database server, truy cập cơ sở dữ liệu và thực thi câu lệnh, xử lý tiếng Việt trong MySQL & PHP, phân trang dữ liệu...cùng tìm hiểu bài giảng để hiểu sâu PHP & MYSQL hơn.
Nội dung trích xuất từ tài liệu:
Bài giảng Mã nguồn mở: Chương 6 - ThS. Nguyễn Minh Thành Môn Các Hệ Thống Mã Nguồn Mở 1 Chương 6 :PHP & MYSQLGiảng viên : ThS. Nguyễn Minh ThànhEmail : thanhnm@itc.edu.vn Môn Các Hệ Thống Mã Nguồn Mở 2Nội Dung1. Kết nối database server2. Truy cập CSDL và thực thi câu lệnh3. Xử lý tiếng việt trong MySQL & PHP4. Phân trang dữ liệu Môn Các Hệ Thống Mã Nguồn Mở 3 Kết nối database server1- Cú pháp mysql_connect(server_name,username,password); Đối với localhost, dù webserver có PORT là 81 vẫn không ghi thêm port, port mặc định của database server MySQL là 3306. Các cách sử dụng : 1- $con=mysql_connect(“localhost”,”root”,””) or die(“Error :”.mysql_error()); 2- $con=mysql_connect(svn,usr,pss); if(!$con) {die(“Error :”.mysql_error(); //có thể thay đổi message} else{ // truy cập database } Môn Các Hệ Thống Mã Nguồn Mở 4Thực Thi Câu Lệnh SQL1- Truy cập CSDL mysql_select_db(“database name, $con);với $con được trả về trong mysql_connect() đã thành công trước đó.2- Thực thi câu lệnh SQL mysql_query(“SQL_Statement”);Tùy theo câu lệnh SQL mà ta có kết quả trả về của hàm mysql_query()mà ta có mã PHP xử lý tương ứng.+ Câu lệnh Select : trả về mảng các record+ Các câu lệnh khác : true/false tùy theo sự thành công hay không a)Câu lệnh SQL : Select…$strSQL=“Select * from table_name”; //nếu câu lệnh SQL dài, phức tạp.$result = mysql_query($strSQL);if($result) { trích xuất dữ liệu trong mảng $result;} // !?else {echo “Records not found!”;} Môn Các Hệ Thống Mã Nguồn Mở 5Thực Thi Câu Lệnh SQL (tt) b) Câu lệnh SQL : Create Database$result=mysql_query(CREATE DATABASE database_name,$con );if($result) {echo “Database created!”;}else {echo “Could’nt create database,” .mysql_error();}Tuy nhiên, để đảm bảo các field kiểu char có thể dữ liệu theo mã UTF-8 thì cầnthay đổi câu lệnh SQL:$strSQL=CREATE DATABASE VD2”;$strSQL+= “DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; $result=mysql_query($strSQL,$con ); if($result) {echo “Database created!”;} else {echo “Could’nt create database,”.mysql_error();} - Ta thường tạo CSDL thông qua một công cụ riêng, ít khi sử dụng câu lệnh như trên. Tuy nhiên, tạo table lại hay sử dụng. - Collate: đối chiếu, kiểm tra thứ tự (trang). Môn Các Hệ Thống Mã Nguồn Mở 6 c- Câu lệnh SQL: Create table$sql = CREATE TABLE table_name (field_name data_type[(length)] constraint,…) ENGINE = MyISAM CHARACTER SET utf8 COLLATE utf8_unicode_ci;Ví dụ : $sql=“Create table SV (Ma varchar(11) NOT NULL ,”; $sql+=HoTen varchar(30) not null , primary key(Ma)”; $sql+=“) engine = MyISAM” ; $result = mysql_query($sql,$con); if(!$result) {echo “Error”.mysql_error();} else { // mã PHP phù hợp} Môn Các Hệ Thống Mã Nguồn Mở 7d- Câu lệnh Insert, Update$sql=“Insert into table_name(field_list) values(value_list);$result=mysql_query($sql);if(!$result) {echo mysql_error(); // xử lý tiếp;}else { //xử lý …}Việc sử dụng câu lệnh Upadte cũng tương tựLỗi xảy ra nếu vi phạm một trong các ràng buộc toàn vẹn dữ liệu.-Sử dụng hàm die() một cách hợp lý-Sử dụng transaction để điều khiển mạch chương trình. Xem bài đọcthêm PHP trên trang web của giảng viên Môn Các Hệ Thống Mã Nguồn Mở 8e- Câu lệnh SQL: Select… $sql = “Select …..”; $result = mysql_query($sql); if(!$result) { echo “Record not found!”; } else { while($row = mysql_fetch_array($result)){ echo $row[‘firstField] . . $row[‘secondField]; echo ; } } // else mysql_close($con); // đóng kết nốiCâu lệnh Select … from … where … limit start, total trong MySQLTrong đó start: là bắt đầu từ record số start (>=0), Record đầu tiên thứ tự là 0Total : là tổng số record được hiển thị. Đây là đặc điểm riêng của MySQLfetch : nạp vào, tìm và nạp vào, $row là một mảng với key là fieldnameChúng ta còn phương pháp khác duyệt “tập các record”, xem trang sau. Môn Các Hệ Thống Mã Nguồn Mở 9Hàm mysql_fetch_arrayCú pháp: mysql_fetch_array(data [, array_type]);Array_type có thể là:MySQL_Assoc : mảng kết hợp, key của mảng là field_nameMySQL_Num : key của mảng là chỉ sốMySQL_Both : cả hai khả năng trên, đây là kiểu mặc định.Vì không khai báo array_type, tức là MySQL_Both, do vậy (1) có thể:while($row = mysql_fetch_array($result)){ echo $row[0] . . $row[1]; echo ;} Môn Các Hệ Thống Mã Nguồn Mở 10Tiếng Việt trong PHP- Phần không sử dụng CSDL MySQL, phải đảm bảo:Lưu tệp vớ ...
Nội dung trích xuất từ tài liệu:
Bài giảng Mã nguồn mở: Chương 6 - ThS. Nguyễn Minh Thành Môn Các Hệ Thống Mã Nguồn Mở 1 Chương 6 :PHP & MYSQLGiảng viên : ThS. Nguyễn Minh ThànhEmail : thanhnm@itc.edu.vn Môn Các Hệ Thống Mã Nguồn Mở 2Nội Dung1. Kết nối database server2. Truy cập CSDL và thực thi câu lệnh3. Xử lý tiếng việt trong MySQL & PHP4. Phân trang dữ liệu Môn Các Hệ Thống Mã Nguồn Mở 3 Kết nối database server1- Cú pháp mysql_connect(server_name,username,password); Đối với localhost, dù webserver có PORT là 81 vẫn không ghi thêm port, port mặc định của database server MySQL là 3306. Các cách sử dụng : 1- $con=mysql_connect(“localhost”,”root”,””) or die(“Error :”.mysql_error()); 2- $con=mysql_connect(svn,usr,pss); if(!$con) {die(“Error :”.mysql_error(); //có thể thay đổi message} else{ // truy cập database } Môn Các Hệ Thống Mã Nguồn Mở 4Thực Thi Câu Lệnh SQL1- Truy cập CSDL mysql_select_db(“database name, $con);với $con được trả về trong mysql_connect() đã thành công trước đó.2- Thực thi câu lệnh SQL mysql_query(“SQL_Statement”);Tùy theo câu lệnh SQL mà ta có kết quả trả về của hàm mysql_query()mà ta có mã PHP xử lý tương ứng.+ Câu lệnh Select : trả về mảng các record+ Các câu lệnh khác : true/false tùy theo sự thành công hay không a)Câu lệnh SQL : Select…$strSQL=“Select * from table_name”; //nếu câu lệnh SQL dài, phức tạp.$result = mysql_query($strSQL);if($result) { trích xuất dữ liệu trong mảng $result;} // !?else {echo “Records not found!”;} Môn Các Hệ Thống Mã Nguồn Mở 5Thực Thi Câu Lệnh SQL (tt) b) Câu lệnh SQL : Create Database$result=mysql_query(CREATE DATABASE database_name,$con );if($result) {echo “Database created!”;}else {echo “Could’nt create database,” .mysql_error();}Tuy nhiên, để đảm bảo các field kiểu char có thể dữ liệu theo mã UTF-8 thì cầnthay đổi câu lệnh SQL:$strSQL=CREATE DATABASE VD2”;$strSQL+= “DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci; $result=mysql_query($strSQL,$con ); if($result) {echo “Database created!”;} else {echo “Could’nt create database,”.mysql_error();} - Ta thường tạo CSDL thông qua một công cụ riêng, ít khi sử dụng câu lệnh như trên. Tuy nhiên, tạo table lại hay sử dụng. - Collate: đối chiếu, kiểm tra thứ tự (trang). Môn Các Hệ Thống Mã Nguồn Mở 6 c- Câu lệnh SQL: Create table$sql = CREATE TABLE table_name (field_name data_type[(length)] constraint,…) ENGINE = MyISAM CHARACTER SET utf8 COLLATE utf8_unicode_ci;Ví dụ : $sql=“Create table SV (Ma varchar(11) NOT NULL ,”; $sql+=HoTen varchar(30) not null , primary key(Ma)”; $sql+=“) engine = MyISAM” ; $result = mysql_query($sql,$con); if(!$result) {echo “Error”.mysql_error();} else { // mã PHP phù hợp} Môn Các Hệ Thống Mã Nguồn Mở 7d- Câu lệnh Insert, Update$sql=“Insert into table_name(field_list) values(value_list);$result=mysql_query($sql);if(!$result) {echo mysql_error(); // xử lý tiếp;}else { //xử lý …}Việc sử dụng câu lệnh Upadte cũng tương tựLỗi xảy ra nếu vi phạm một trong các ràng buộc toàn vẹn dữ liệu.-Sử dụng hàm die() một cách hợp lý-Sử dụng transaction để điều khiển mạch chương trình. Xem bài đọcthêm PHP trên trang web của giảng viên Môn Các Hệ Thống Mã Nguồn Mở 8e- Câu lệnh SQL: Select… $sql = “Select …..”; $result = mysql_query($sql); if(!$result) { echo “Record not found!”; } else { while($row = mysql_fetch_array($result)){ echo $row[‘firstField] . . $row[‘secondField]; echo ; } } // else mysql_close($con); // đóng kết nốiCâu lệnh Select … from … where … limit start, total trong MySQLTrong đó start: là bắt đầu từ record số start (>=0), Record đầu tiên thứ tự là 0Total : là tổng số record được hiển thị. Đây là đặc điểm riêng của MySQLfetch : nạp vào, tìm và nạp vào, $row là một mảng với key là fieldnameChúng ta còn phương pháp khác duyệt “tập các record”, xem trang sau. Môn Các Hệ Thống Mã Nguồn Mở 9Hàm mysql_fetch_arrayCú pháp: mysql_fetch_array(data [, array_type]);Array_type có thể là:MySQL_Assoc : mảng kết hợp, key của mảng là field_nameMySQL_Num : key của mảng là chỉ sốMySQL_Both : cả hai khả năng trên, đây là kiểu mặc định.Vì không khai báo array_type, tức là MySQL_Both, do vậy (1) có thể:while($row = mysql_fetch_array($result)){ echo $row[0] . . $row[1]; echo ;} Môn Các Hệ Thống Mã Nguồn Mở 10Tiếng Việt trong PHP- Phần không sử dụng CSDL MySQL, phải đảm bảo:Lưu tệp vớ ...
Tìm kiếm theo từ khóa liên quan:
Truy cập cơ sở dữ liệu Câu lệnh SQL Thực thi câu lệnh Mã nguồn mở Hệ thống mã nguồn mở Phần mềm nguồn mởGợi ý tài liệu liên quan:
-
183 trang 313 0 0
-
Đề tài nguyên lý hệ điều hành: Nghiên cứu tìm hiểu về bộ nhớ ngoài trong hệ điều hành Linux
19 trang 220 0 0 -
Xây dựng công cụ nhận dạng khuôn mặt theo thời gian thực hiện trên nền hệ điều hành mã nguồn mỡ
7 trang 205 0 0 -
'Phần mềm tự do và phần mềm nguồn mở' Free and Open Source Software – Asia-Pacific Consultation
5 trang 126 0 0 -
Ngôn ngữ truy vấn có cấu trúc (SQL)
24 trang 91 0 0 -
Xây dựng hệ thống tích hợp liên tục nội bộ sử dụng công cụ nguồn mở Jenkins và Gitlab
11 trang 87 0 0 -
Câu hỏi ôn tập trắc nghiệm Hệ điều hành Linux
15 trang 62 0 0 -
Bài giảng Mã nguồn mở: Bài 3 - ThS. Phan Thanh Toàn
29 trang 55 0 0 -
Bài giảng Mã nguồn mở: Bài 1 - ThS. Phan Thanh Toàn
25 trang 55 0 0 -
Giáo trình Thực hành SQL: Phần 2 - Trần Nguyên Phong
15 trang 45 0 0