Webcourse php & csdl

  • 33 trang
  • file .pdf
Lập trình và Thiết kế Web 1
Bài 9
Thao tác CSDL với PHP
Khoa CNTT – ĐH.KHTN
© 2007 Khoa Công nghệ thông tin
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
Nội dung
ƒ Các bước thao tác với CSDL
ƒ Một số vấn đề khi thao tác với CSDL
ƒ Một số ví dụ minh họa:
– Tìm kiếm và sắp xếp
– Tổng hợp Thêm, Xóa, Sửa
– Phân trang dữ liệu
ƒ Thao tác với các Hệ Quản trị CSDL khác
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
Nội dung
ƒ Các bước thao tác với CSDL
ƒ Một số vấn đề khi thao tác với CSDL
ƒ Một số ví dụ minh họa:
– Tìm kiếm và sắp xếp
– Tổng hợp Thêm, Xóa, Sửa
– Phân trang dữ liệu
ƒ Thao tác với các Hệ Quản trị CSDL khác
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
Các bước thao tác CSDL trong PHP
1. Kết nối với CSDL
2. Xây dựng câu truy vấn dữ liệu
3. Thực thi câu truy vấn
4. Xử lí kết quả trả về từ câu truy vấn SELECT
5. Ngắt kết nối với CSDL
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
Các bước thao tác CSDL trong PHP
1. Kết nối với CSDL
2. Xây dựng câu truy vấn dữ liệu
3. Thực thi câu truy vấn
4. Xử lí kết quả trả về từ câu truy vấn SELECT
5. Ngắt kết nối với CSDL
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
1. Tạo Kết nối CSDL
Connection
Application Database
ƒ Kết nối MySQL và Chọn CSDL
– resource mysql_connect([string host], [string username],
[string password])
– int mysql_select_db (string database, [resource connection])
$connection = mysql_connect(“localhost",“root”,“root");
mysql_select_db(“TestDB", $connection);
?>
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
Các bước thao tác CSDL trong PHP
1. Kết nối với CSDL
2. Xây dựng câu truy vấn dữ liệu
3. Thực thi câu truy vấn
4. Xử lí kết quả trả về từ câu truy vấn SELECT
5. Ngắt kết nối với CSDL
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
2. Xây dựng câu truy vấn
www.example.com
Textbox : txtDangnhap
Webserver
Password Box: txtMatkhau
txtDangnhap = admin
txtMatkhau = 123
strSQL = “SELECT *
FROM Users
Yêu cầu trang xlDangnhap.php WHERE UserName =
‘admin’ and Password =
‘123’ “
Database
Server
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
2. Xây dựng câu truy vấn (tt)
SQL Ví dụ
INSERT strSQL = "INSERT INTO Users (UserName, Password) VALUES (‘admin',‘123')“
DELETE strSQL = "DELETE FROM Users WHERE UserName = ‘minh'“
UPDATE strSQL = "UPDATE Users SET Password = ‘abc' WHERE UserName = ‘admin' “
SELECT strSQL = “SELECT * FROM Users WHERE UserName = ‘admin' “
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
Các bước thao tác CSDL trong PHP
1. Kết nối với CSDL
2. Xây dựng câu truy vấn dữ liệu
3. Thực thi câu truy vấn
4. Xử lí kết quả trả về từ câu truy vấn SELECT
5. Ngắt kết nối với CSDL
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
3. Thực thi câu truy vấn
011010011 Connection 011010011
Application
Database
query
ƒ resource mysql_query(string SQL_command, [resource connection])
$strSQL = "INSERT INTO Users (UserName, Password) VALUES (‘admin',‘123')“;
mysql_query($strSQL);
$strSQL = “SELECT * FROM Users“;
$result = mysql_query($strSQL);
?>
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
Các bước thao tác CSDL trong PHP
1. Kết nối với CSDL
2. Xây dựng câu truy vấn dữ liệu
3. Thực thi câu truy vấn
4. Xử lí kết quả trả về từ câu truy vấn SELECT
5. Ngắt kết nối với CSDL
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
4. Xử lý kết quả trả về
ƒ Hiển thị dữ liệu trả về
UserName Password
– Sử dụng hàm cursor
A AA
$row = mysql_fetch_array($result)
B BB
C CC
– Số lượng FIELD D DD
$num = mysql_num_fields($result); … …
X XX
– Truy cập đến từng FIELD Y YY
Z ZZ
echo $row[“UserName”];
Hoặc
echo $row[0]; Ví dụ: Xuất records từ CSDL ra trang HTML
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
Các bước thao tác CSDL trong PHP
1. Kết nối với CSDL
2. Xây dựng câu truy vấn dữ liệu
3. Thực thi câu truy vấn
4. Xử lí kết quả trả về từ câu truy vấn SELECT
5. Ngắt kết nối với CSDL
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
5. Ngắt kết nối dữ liệu
ƒ int mysql_close([resource connection])
ƒ Tự động thực thi khi kết thúc mã lệnh
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
Tổng hợp các bước thao tác CSDL MySQL
// 1. Ket noi CSDL
$connection = mysql_connect(“hostname",“username",“password");
mysql_select_db(“database_name", $connection);
// 2. Chuan bi cau truy van & 3. Thuc thi cau truy van
$strSQL = "SELECT * FROM TableName”;
$result = mysql_query($strSQL);
// 4.Xu ly du lieu tra ve
while ($row = mysql_fetch_array($result))
{
for ($i=0; $i echo $row[$i] . " ";
}
// 5. Dong ket noi
mysql_close($connection);
?>
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
Một số hàm thao tác với CSDL MySQL
ƒ int mysql_data_seek(resource result_set, int row)
ƒ array mysql_fetch_row(resource result_set)
ƒ object mysql_fetch_object(resource result_set, [int result_type])
ƒ int mysql_free_result(resource result_set)
ƒ int mysql_num_rows(resource result_set)
ƒ resource mysql_pconnect([string host:port], [string user],
[string password])
ƒ resource mysql_unbuffered_query(string query,
[resource connection])
ƒ object mysql_fetch_field(resource result_set, [int attribute_number])
ƒ int mysql_affected_rows([resource connection])
ƒ int mysql_insert_id([resource connection])
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
Nội dung
ƒ Các bước thao tác với CSDL
ƒ Một số vấn đề khi thao tác với CSDL
ƒ Một số ví dụ minh họa:
– Tìm kiếm và sắp xếp
– Tổng hợp Thêm, Xóa, Sửa
– Phân trang dữ liệu
ƒ Thao tác với các Hệ Quản trị CSDL khác
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
Một số vấn đề - MySQL & Font Unicode
ƒ Font UNICODE
Encode
Decode
mysql_query(“set names ‘utf-8’”);
?>
© 2007 Khoa CNTT - ĐHKHTN
Lập trình và Thiết kế Web 1 – Bài 9: Thao tác CSDL với PHP
Một số vấn đề - Xử lý lỗi
ƒ int mysql_errno(resource connection)
ƒ string mysql_error(resource connection)
function showerror( ) {
die("Error " . mysql_errno( ) . " : " . mysql_error( ));
}
if (!($connection = @ mysql_connect("localhost", "fred","shhh")))
die("Could not connect");
If (!(mysql_select_db("winestor", $connection)))
showerror( );
?>
© 2007 Khoa CNTT - ĐHKHTN