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)