Phần mềm Nguồn Mở (Open-Source Software)

Võ Đức Quang Khoa CNTT-Đại học Vinh

Chương 3: Một số phần mềm nguồn mở

Mindmap

Giới thiệu về PHP Biến, hằng Kiểu dữ liệu, phép toán Lệnh điều khiển Hàm PHP kết hợp với forms Server Side PHP-MySQL

PHP

 Để kết nối PHP – MySQL o MySQLi extension (<2012) o PDO (PHP Data Objects)

 Đặc điểm o PDO

 Hỗ trợ kết nối 12 hệ thống CSDL khác nhau  Hướng đối tượng  Prepared Statements

o MySQLi

 Chỉ hỗ trợ MySQL  Hướng đối tượng và API  Prepared Statements

PHP-MySQL

PHP-MySQL  Kết nối (MySQLi Object-Oriented)

 Die() – hàm hiển thị thông báo và dừng xử lý

PHP-MySQL

// Check connection if (mysqli_connect_error()) { die("Database connection failed: " . mysqli_connect_error()); }

 Kết nối (MySQLi Procedural)

 Port mặc định: 3306

PHP-MySQL

 Kết nối (PDO)

PHP-MySQL

 Đóng kết nối

o MySQLi Object-Oriented  $conn->close();

o MySQLi Procedural

 mysql_close($conn);

o PDO

 $conn = null;

PHP-MySQL

 Truy cập CSDL

o mysql_select_db(database name", $con);

 Thực thi câu lệnh SQL

o $result=mysql_query(“SQL_Statement”);  Tùy theo câu lệnh SQL mà ta có kết quả trả về tương

ứng o Select : trả về mảng các record o Câu lệnh khác : true/false tùy theo thành công hay không

 Chuyển kết quả dữ liệu truy vấn thành dạng mảng o $row = mysql_fetch_array($result)

PHP-MySQL

 Các bước thao tác

o Kết nối PHP/MySQL: mysql_connect() o Chọn CSDL để làm việc: mysql_select_db() o Xử lý câu truy vấn: mysql_query() o Phân tích, xử lý kết quả truy vấn: mysql_fetch_array() o Đóng kết nối PHP/MySQL: mysql_close()

PHP-MySQL

Ví dụ: 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ối

PHP-MySQL

$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() hợp lý để điều khiển xử lý

PHP-MySQL  Câu lệnh SQL: INSERT, UPDATE…

 Hàm mysql_fetch_array

 Cú pháp: mysql_fetch_array(data [, array_type]);

o Array_type có thể là:

 MySQL_Assoc : mảng kết hợp, key của mảng là field_name  MySQL_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.

PHP-MySQL

while($row = mysql_fetch_array($result)){

 Ví dụ: echo $row[0] . " " . $row[1]; echo "
";

}

- Phần không sử dụng CSDL MySQL, phải đảm bảo: Lưu tệp với mã UTF-8 (*) Khai báo trong phần head

- Phần sử dụng CSDL MySQL, phải đảm bảo: Khai báo câu lệnh mysql_query(“SET NAMES ‘utf8’”) trước câu lệnh mysql_query($sql) với $sql là một câu lệnh Select. Ví dụ:

$sql = “Select …..”;

mysql_query(“SET NAMES ‘utf8’”); (*) $result = mysql_query($sql);

if(!$result) , echo “Record not found!”; - else {

while($row = mysql_fetch_array($result)){ echo $row*‘firstField'+ . " " .$row*‘secondField'+.”
”;-

}

Tiếng Việt trong PHP

 Một số chú ý:

o Để xử lý truy vấn với các bản ghi Tiếng Việt, trước khi truy

vấn phải sử dụng SET NAMES ‘utf-8’

PHP-MySQL

mysql_query("SET NAMES 'utf8'"); o Cần viết chính xác Tên trường trong bảng CSDL khi duyệt

mysql_fetch_array. (phân biệt chữ hoa, thường)