ket hop php mysql
TRANSCRIPT
11
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
HỌC PHẦN 5
2
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
2
KẾT HỢP PHP và
MYSQL
33
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Nội dung
•
Kết nối CSDL•
Làm việc với CSDL MySQL
•
PHP kết hợp với các CSDL khác
44
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Kết nối CSDL
•
Tạo kết nối•
Chọn CSDL
•
Truy vấn dữ
liệu•
Đóng kết nối
•
Thông báo lỗi
55
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Kết nối CSDL
•
Tạo kết nối−
Cú
pháp:
mysql_connect(servername,username,password);
•
servername: tham số
tùy chọn, xác định server cần phải kết nối tới. Giá
trị
mặc định là
“localhost:3306”
•
username: tham số
tùy chọn, xác định tên người dùng đăng nhập vào hệ
thống. Giá
trị
mặc định là
tên của người dùng làm chủ
tiến trình của server.
•
password: tham số
tùy chọn, xác định mật khẩu của người dùng. Giá
trị
mặc định là
“”
66
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Kết nối CSDL
•
Tạo kết nối−
Ví
dụ: tạo kết nối
<?php$db=mysql_connect("localhost","root","");
if(!$db){
echo "Không thể
kết nối CSDL";exit;
}?>
77
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Kết nối CSDL
•
Chọn CSDL−
Cú
pháp:
mysql_select_db(database,connection);
•
database: tham số
bắt buộc, xác định tên của CSDL cần làm việc.
•
connection: tham số
tùy chọn, xác định kết nối. Nếu không xác định thì
kết nối cuối cùng được mở
bởi hàm mysql_connect() hoặc hàm mysql_pconnect() sẽ được sử
dụng.
−
Kết quả
trả
về
của hàm này là
TRUE nếu chọn CSDL thành công, ngược lại kết quả
sẽ
bằng FALSE
88
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Kết nối CSDL
•
Chọn CSDL−
Ví
dụ: chọn CSDL là
ql_ban_sua
$db_selected = mysql_select_db("ql_ban_sua", $db);// kiểm tra CSDLif (!$db_selected){die ("Không thể
sử
dụng CSDL : " . mysql_error());}
99
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Kết nối CSDL
•
Truy vấn dữ
liệu−
Cú
pháp:
mysql_query(query,connection);
•
query: tham số
bắt buộc, là
câu lệnh truy vấn được gửi đi.
•
connection: tham số
tùy chọn, xác định kết nối. Nếu không xác định thì
kết nối cuối cùng được mở
bởi hàm mysql_connect() hoặc hàm mysql_pconnect() sẽ được sử
dụng.
−
mysql_query() sẽ
trả
về
kết quả
của câu lệnh truy vấn nếu thực hiện thành công, ngược lại sẽ
trả
về
FALSE
1010
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Kết nối CSDL
•
Truy vấn dữ
liệu−
Ví
dụ: thực hiện truy vấn dữ
liệu có
trong bảng hang_sua
trong CSDL ql_ban_sua
$sql= "SELECT * FROM hang_sua";$result =
mysql_query($sql);
1111
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Kết nối CSDL
• Đóng kết nối−
Cú
pháp:
mysql_close(connection);
•
connection: tham số
tùy chọn, xác định kết nối. Nếu không xác định thì
kết nối cuối cùng được mở
bởi hàm mysql_connect() hoặc hàm mysql_pconnect() sẽ được sử
dụng.
−
Kết quả
trả
về
là
TRUE nếu đóng kết nối thành công, ngược lại sẽ
trả
về
FALSE nếu thất bại.
1212
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Kết nối CSDL
• Đóng kết nối−
Ví
dụ: đóng kết nối đã mở
mysql_close($db);
1313
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Kết nối CSDL
•
Thông báo lỗi−
Trong quá
trình làm việc với CSDL lỗi có
thể
phát sinh
→ cần thông báo những lỗi phát sinh này bằng cách sử dụng hàm mysql_error().
−
Cú
pháp: mysql_error(connection);
−
Kết quả
trả
về
là
câu thông báo lỗi nếu có
lỗi phát sinh, ngược lại kết quả
trả
về
sẽ
là
một chuỗi rỗng “”.
−
Kết hợp hàm mysql_error() với hàm die() hoặc hàm exit() để
vừa thông báo lỗi vừa kết thúc công việc
1414
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Kết nối CSDL
•
Thông báo lỗi−
Ví
dụ: thông báo lỗi nếu không thể
tạo kết nối
$db = mysql_connect("localhost","root","");if (!$db)
{die('Không thể
kết nối: ' . mysql_error());}
1515
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Nội dung
•
Kết nối CSDL•
Làm việc với CSDL MySQL
•
PHP kết hợp với các CSDL khác
1616
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Làm việc với CSDL
• Đếm số lượng mẩu tin
•
Hiển thị
dữ
liệu•
Lưu thông tin mới vào CSDL
•
Cập nhật dữ
liệu•
Xóa dữ
liệu
1717
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Làm việc với CSDL
• Đếm số lượng mẩu tin−
Cú
pháp:
mysql_num_rows(data);
•
data: là
tham số
bắt buộc. Xác định con trỏ
dữ
liệu. Con trỏ
dữ
liệu là
kết quả
trả
về
của hàm mysql_query().
−
Hàm này có
kết quả
trả
về
là
số lượng mẩu tin nếu thành công, ngược lại kết quả
trả
về
sẽ
là
FALSE nếu
thất bại.
1818
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Làm việc với CSDL
• Đếm số lượng mẩu tin−
Ví
dụ: đếm số lượng mẩu tin có
trong bảng hang_sua
$sql= "SELECT * FROM hang_sua";$result
= mysql_query($sql);echo mysql_num_rows($result); → 7
1919
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Làm việc với CSDL•
Hiển thị
dữ
liệu
−
Duyệt dữ
liệu: có
các cách sau•
Duyệt dữ
liệu theo dạng mỗi mẩu tin là
một dòng
•
Duyệt theo dạng mỗi mẫu tin là
một mảng
•
Duyệt theo dạng mỗi mẩu tin là
một đối tượng
2020
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Làm việc với CSDL•
Hiển thị
dữ
liệu
−
Duyệt dữ
liệu theo dạng mỗi mẩu tin là
một dòng mysql_fetch_row()•
Cú
pháp: mysql_fetch_row(data) data: là tham số bắt buộc. Xác định con trỏ dữ liệu. Con trỏdữ liệu là kết quả trả về của hàm mysql_query()
•
Kết quả
trả
về
một mảng (có
chỉ
số
số) chứa giá
trị
của một dòng dữ
liệu với mỗi phần tử
là
nội dung của một cột → truy cập bằng cách gọi từng phần tử
của mảng $row[0], $row[1], $row[2],…
2121
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Làm việc với CSDL•
Hiển thị
dữ
liệu
−
Duyệt dữ
liệu theo dạng mỗi mẩu tin là
một dòng mysql_fetch_row()•
Ví
dụ:
mysql_select_db("ql_ban_sua");$result = mysql_query("SELECT * FROM KHACH_HANG");if (mysql_num_rows($result)<>0){
print_r(mysql_fetch_row($result));}mysql_close($db);
Array ( [0] => kh001 [1] => Khuất Thùy Phương [2] => 1 [3] => A21 Nguyễn Oanh quận Gò Vấp [4] => 9874125 [5] => [email protected] )
2222
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Làm việc với CSDL•
Hiển thị
dữ
liệu
−
Duyệt dữ
liệu theo dạng mỗi mẩu tin là
một dòng mysql_fetch_row()•
Duyệt tất cả
các mẩu tin: kết hợp cấu trúc lặp while và
hàm mysql_fetch_row() đặt trong cấu trúc lặp while.
•
Ví
dụ: duyệt & in tất cả
các mẩu tin có
trong bảng khách hàng
...if (mysql_num_rows($result)<>0)
{
while($row = mysql_fetch_row($result)){
print_r($row);}
}...
2323
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Làm việc với CSDL•
Hiển thị
dữ
liệu
−
Duyệt dữ
liệu theo dạng mỗi mẩu tin là
một mảng mysql_fetch_array() •
Cú
pháp: mysql_fetch_array(data)data: là tham số bắt buộc. Xác định con trỏ dữ liệu. Con trỏ dữliệu là kết quả trả về của hàm mysql_query()
•
Kết quả
trả
về
là
một mảng (có
chỉ
số
chuỗi) chứa giá
trị
của một dòng dữ
liệu với mỗi phần tử
là
nội dung của một cột → truy cập bằng cách gọi từng phần tử
của mảng: $row[“tên cột 1”], $row[“tên cột 2”], $row[“tên cột 3”],…
2424
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Array ( [Ma_khach_hang] => kh001 [Ten_khach_hang] => Khuất Thùy Phương [Phai] => 1 [Dia_chi] => A21 Nguyễn Oanh quận Gò Vấp [Dien_thoai] => 9874125 [Email] => [email protected] )
Làm việc với CSDL•
Hiển thị
dữ
liệu
−
Duyệt dữ
liệu theo dạng mỗi mẩu tin là
một mảng mysql_fetch_array() •
Ví
dụ:
...if (mysql_num_rows($result)<>0)
{print_r(mysql_fetch_array($result));
}...
2525
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Làm việc với CSDL•
Hiển thị
dữ
liệu
−
Duyệt dữ
liệu theo dạng mỗi mẩu tin là
một mảng mysql_fetch_array()•
Duyệt tất cả
các mẩu tin: kết hợp cấu trúc lặp while và
hàm mysql_fetch_array() đặt trong cấu trúc lặp while.
•
Ví
dụ: duyệt & in tất cả
các mẩu tin có
trong bảng khách hàng
...if (mysql_num_rows($result)<>0)
{
while($array = mysql_fetch_array($result)){
print_r($array);}
}...
2626
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Làm việc với CSDL•
Hiển thị
dữ
liệu
−
Duyệt dữ
liệu theo dạng mỗi mẩu tin là
một đối tượng mysql_fetch_object() •
Cú
pháp: mysql_fetch_object(data) data: là tham số bắt buộc. Xác định con trỏ dữ liệu. Con trỏ dữ liệu là kết quả trả về của hàm mysql_query()
•
Kết quả
trả
về
là
một mẩu tin trong bộ
các mẩu tin như là
một đối tượng → truy cập bằng cách gọi từng thuộc tính của đối tượng: $tên_đối_tượng → tên_cột_1, $tên_đối_tượng →
tên_cột_2,…
2727
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
stdClass Object ( [Ma_khach_hang] => kh001 [Ten_khach_hang] => Khuất Thùy Phương [Phai] => 1 [Dia_chi] => A21 Nguyễn Oanh quận Gò Vấp [Dien_thoai] => 9874125 [Email] => [email protected] )
Làm việc với CSDL•
Hiển thị
dữ
liệu
−
Duyệt dữ
liệu theo dạng mỗi mẩu tin là
một đối tượng mysql_fetch_object()•
Ví
dụ:
...if (mysql_num_rows($result)<>0)
{print_r(mysql_fetch_object($result));
}...
2828
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Làm việc với CSDL•
Hiển thị
dữ
liệu
−
Duyệt dữ
liệu theo dạng mỗi mẩu tin là
một đối tượng mysql_fetch_object()•
Duyệt tất cả
các mẩu tin: kết hợp cấu trúc lặp while và
hàm mysql_fetch_object() đặt trong cấu trúc lặp while.
•
Ví
dụ: duyệt & in tất cả
các mẩu tin có
trong bảng khách hàng
...if (mysql_num_rows($result)<>0)
{
while($object = mysql_fetch_object($result)){
print_r($object);}
}...
2929
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Làm việc với CSDL•
Hiển thị
dữ
liệu
−
Hiển thị
dữ
liệu không định dạng
−
Hiển thị
dữ
liệu có
yêu cầu•
Định dạng hiển thị
dữ
liệu
•
Tạo các cột tùy biến
•
Phân trang
•
Liên kết trang có
chuỗi tham số
3030
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Làm việc với CSDL•
Hiển thị
dữ
liệu
−
Hiển thị
dữ
liệu không định dạng: cách đơn giản nhất là hiển thị
dữ
liệu theo dạng bảng hoặc dạng text.
−
Ví
dụ: hiển thị
thông tin bảng khách hàng
3131
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Làm việc với CSDL•
Hiển thị
dữ
liệu
−
Hiển thị
dữ
liệu có
yêu cầu - Định dạng hiển thị
dữ
liệu•
Yêu cầu đơn giản nhất của một trang Web là
dữ
liệu hiển thị
phải được định dạng giúp cho người dùng dễ
dàng đọc thông tin.
•
Các định dạng thông thường là định dạng cột, dòng, kích thước, màu sắc, kiểu chữ,…
cho nội dung hiển thị.
•
Để
thực hiện được các yêu cầu về định dạng → cần phải xem xét và
tính toán cho các nội dung cần hiển thị.
3232
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Làm việc với CSDL•
Hiển thị
dữ
liệu
−
Hiển thị
dữ
liệu có
yêu cầu - Định dạng hiển thị
dữ
liệu•
Ví
dụ: hiển thị
thông tin khách hàng với định dạng như sau: Dòng tiêu đề của bảng sẽ được canh giữa, chữ in đậm, màu sắc phân biệt so với các dòng khác.Các dòng thông tin của khách hàng: dòng chẵn và dòng lẻcó màu nền khác nhau, cột giới tính được canh giữa
3333
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Làm việc với CSDL•
Hiển thị
dữ
liệu
−
Hiển thị
dữ
liệu có
yêu cầu - Định dạng hiển thị
dữ
liệu
Dòng tiêu đề
Dòng chẵnDòng lẻ
3434
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Làm việc với CSDL•
Hiển thị
dữ
liệu
−
Hiển thị
dữ
liệu có
yêu cầu -
Tạo các cột tùy biến•
Nhu cầu hiển thị
dữ
liệu một cách rõ ràng, chi tiết, dễ
hiểu trở
thành một yêu cầu tất yếu khi thiết kế
trang Web.
•
Một trong những cách hiển thị
dữ
liệu đáp ứng nhu cầu đó là
tạo các cột tùy biến
3535
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Làm việc với CSDL•
Hiển thị
dữ
liệu
−
Hiển thị
dữ
liệu có
yêu cầu -
Tạo các cột tùy biến•
Ví
dụ: trong CSDL thường dùng kiểu dữ
liệu boolean cho cột giới tính → cột này sẽ
có
một trong hai giá
trị
là
0 hoặc 1 và
tùy theo quy ước để
xác định 0 hoặc 1 thuộc giới tính gì. Nếu cột giới tính hiển thị
0, 1 và sau đó lại có
dòng chú
giải thì
sẽ
không thuận tiện → dùng hình ảnh hoặc checkbox,… để
hiển thị
giới tính. Cách hiển thị
này vừa đẹp mắt, vừa dễ
hiểu.
3636
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Làm việc với CSDL•
Hiển thị
dữ
liệu
−
Hiển thị
dữ
liệu có
yêu cầu -
Tạo các cột tùy biến•
Ví
dụ:
3737
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Làm việc với CSDL•
Hiển thị
dữ
liệu
−
Hiển thị
dữ
liệu có
yêu cầu -
Phân trang•
Đối với những bảng có
số lượng mẩu tin lớn khi hiển thị
dữ
liệu sẽ
làm cho người dùng cảm thấy khó
xem→ thực hiện việc phân trang.
•
Phân trang dữ
liệu giúp cho việc xem và
tìm kiếm thông tin dễ
dàng, nhanh chóng và
thuận tiện.•
Sử
dụng class pager được cung cấp để
thực hiện việc phân trang
3838
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Làm việc với CSDL•
Hiển thị
dữ
liệu
−
Hiển thị
dữ
liệu có
yêu cầu -
Phân trang
3939
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Làm việc với CSDL•
Hiển thị
dữ
liệu
−
Hiển thị
dữ
liệu có
yêu cầu -
Liên kết trang có
chuỗi tham số•
Chuỗi URL có
cấu trúc định dạng như sau: http://<host>[:<port>][path][?chuỗi_tham_số] •
Phần cuối của chuỗi URL là
chuỗi tham số
có
cú
pháp như sau:
[?Tham_số_1=Giá_trị_1[&Tham_số_2=Giá_trị_2[&...]]]•
Chú ý: trong trường hợp có
nhiều tham số, các cặp [Tham_số=Giá_trị] phân cách nhau bằng dấu &
4040
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Làm việc với CSDL•
Hiển thị
dữ
liệu
−
Hiển thị
dữ
liệu có
yêu cầu -
Liên kết trang có
chuỗi tham số•
Ví
dụ: Khi người dùng muốn xem thông tin chi tiết của sữa, người dùng click chọn sữa đó, URL sẽ
có đường dẫn là địa chỉ
của trang chi tiết sữa và
chuỗi tham số
là
mã sữa
http://localhost/MBOOK_PHP/phan_3/c4_chi_tiet_sua_2.php?ma_sua=VNM001
Trang chi tiết sữaTrang danh sách sữa
4141
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Làm việc với CSDL•
Hiển thị
dữ
liệu
−
Hiển thị
dữ
liệu có
yêu cầu -
Liên kết trang có
chuỗi tham số•
Nhận giá
trị
truyền qua tham số:$_REQUEST[“tên_tham_số”]•
Ví
dụ: nhận giá
trị
của tham số
mã sữa
$ma_sua = $_REQUEST["ma_sua"];
4242
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Làm việc với CSDL•
Chuyển đổi giá
trị
thời gian
4343
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Làm việc với CSDL
•
Lưu thông tin mới vào CSDL−
Sử
dụng hàm mysql_query() kết hợp với câu lệnh truy
vấn INSERT INTO.
−
Hàm này được dùng để
gửi một truy vấn (hiển thị
thông tin, thêm mới, xoá, cập nhật) tới một kết nối MySQL.
4444
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Làm việc với CSDL
•
Lưu thông tin mới vào CSDL−
Ví
dụ: Thêm mới một hãng sữa với giá
trị
cụ
thể
vào
bảng hãng sữa đã có.
$db = mysql_connect("localhost","root","");if (!$db){
die(“Không thể
kết nối CSDL: ”
. mysql_error());}
mysql_select_db("ql_ban_sua", $db);mysql_query("INSERT INTO hang_sua VALUES ('XO', 'XO', 'Khu công nghiệp Đồng Nai', ‘7456321’, ‘[email protected]’)");mysql_close($db);
4545
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Làm việc với CSDL
•
Cập nhật dữ
liệu−
Sử
dụng hàm mysql_query() kết hợp với câu lệnh truy
vấn UPDATE.
−
Hàm này được dùng để
gửi một truy vấn (hiển thị
thông tin, thêm mới, xoá, cập nhật) tới một kết nối MySQL.
4646
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Làm việc với CSDL
•
Cập nhật dữ
liệu−
Ví
dụ: cập nhật lại địa chỉ
cho hãng sữa XO là
‘Khu công
nghiệp Bình Dương’
$db = mysql_connect("localhost","root","");if (!$db){
die(“Không thể
kết nối CSDL: ”
. mysql_error());}
mysql_select_db("ql_ban_sua", $db);mysql_query("UPDATE hang_sua SET Dia_chi = 'Khu công nghiệp Bình Dương' WHERE Ma_hang_sua = ‘XO’");mysql_close($db);
4747
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Làm việc với CSDL
•
Xóa dữ
liệu−
Sử
dụng hàm mysql_query() kết hợp với câu lệnh truy
vấn DELETE.
−
Hàm này được dùng để
gửi một truy vấn (hiển thị
thông tin, thêm mới, xoá, cập nhật) tới một kết nối MySQL
4848
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Làm việc với CSDL
•
Xóa dữ
liệu−
Ví
dụ: xoá
thông tin của hãng sữa XO
$db = mysql_connect("localhost","root","");if (!$db){
die(“Không thể
kết nối: ”
. mysql_error());}
mysql_select_db("ql_ban_sua", $con);mysql_query("DELETE FROM hang_sua WHERE Ma_hang_sua='XO'");mysql_close($db);
4949
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
Nội dung
•
Kết nối CSDL•
Làm việc với CSDL MySQL
•
PHP kết hợp với các CSDL khác
5050
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
PHP kết hợp với các CSDL khác
•
PHP có
thể
thực thi được trên cả hai môi trường là
Windows và Linux do đó PHP có thể
kết nối
nhiều loại CSDL (MS Access, SQL Server, …) trên hai môi trường này. −
Dùng ODBC để
kết nối tới nguồn dữ
liệu.
−
Với một kết nối ODBC, có
thể
kết nối đến nhiều CSDL khác nhau
5151
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
PHP kết hợp với các CSDL khác
•
PHP và
MS Access•
PHP và
SQL Server
5252
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
PHP kết hợp với các CSDL khác
•
PHP và
MS Access−
Tạo kết nối tới CSDL•
Bước 1: Mở Administrative Tools trong Control Panel
•
Bước 2: Trong cửa sổ
Administrative Tools chọn biểu tượng Data Sources (ODBC)
5353
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
PHP kết hợp với các CSDL khác
•
PHP và
MS Access−
Tạo kết nối tới CSDL•
Bước 3: Trong cửa sổ
ODBC Data Source Administrator chọn tab System DNS
•
Bước 4: Nhấn nút Add trên Tab System DNS
5454
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
PHP kết hợp với các CSDL khác
•
PHP và
MS Access−
Tạo kết nối tới CSDL•
Bước 5: Trong cửa sổ
Create New Data Source chọn Microsoft Access Driver => nhấn nút Finish
5555
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
PHP kết hợp với các CSDL khác
•
PHP và
MS Access−
Tạo kết nối tới CSDL•
Bước 6: Trong cửa sổ
ODBC Microsoft Access Setup, nhấn nút Select để
lựa chọn tập tin Access cần liên kết => nhấn nút OK
5656
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
PHP kết hợp với các CSDL khác
•
PHP và
MS Access−
Tạo kết nối tới CSDL•
Bước 7: Đặt tên cho Data Source (DNS) trong mục Data Source Name => nhấn nút OK
5757
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
PHP kết hợp với các CSDL khác
•
PHP và
MS Access−
Tạo kết nối tới CSDL•
Bước 8: Trong cửa sổ
ODBC Data Source Administrator, nhấn nút OK để
hoàn thành việc tạo kết nối
5858
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
PHP kết hợp với các CSDL khác
•
PHP và
MS Access−
Kết nối tới ODBC •
odbc_connect()
Được dùng để kết nối tới một nguồn dữ liệu đã được định nghĩa trong ODBCCú pháp:
$conn = odbc_connect(tên_DSN, tên_người_dùng, mật_khẩu);
5959
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
PHP kết hợp với các CSDL khác
•
PHP và
MS Access−
Kết nối tới ODBC •
odbc_exec()
Được dùng để thực thi một câu truy vấn. Cú pháp:
$rs = odbc_exec($conn, câu_lệnh_truy_vấn); $conn là biến đã được khai báo ở hàm odbc_connect()
6060
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
PHP kết hợp với các CSDL khác
•
PHP và
MS Access−
Kết nối tới ODBC •
Ví
dụ: tạo một kết nối tới DNS có
tên là
‘Northwind’, không có tên người dùng và
mật khẩu, sau đó tạo một câu lệnh truy vấn và
thực thi
$conn=odbc_connect('Northwind','','');$sql="SELECT * FROM customers"; $rs=odbc_exec($conn,$sql);
6161
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
PHP kết hợp với các CSDL khác
•
PHP và
MS Access−
Nhận các mẩu tin kết quả
-
odbc_fetch_row()
•
Dùng để
lấy các mẩu tin kết quả
•
Cú
pháp:
odbc_fetch_row($rs) $rs là biến đã có từ hàm odbc_exec() trong quá trình kết nối
•
Kết quả
trả
về
là
TRUE nếu nó
có
các mẩu tin kết quả, ngược lại kết quả
trả
về
là
FALSE
6262
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
PHP kết hợp với các CSDL khác
•
PHP và
MS Access−
Đọc giá
trị
các trường của một mẩu tin -
odbc_result()
•
Dùng để đọc các trường của một mẩu tin
•
Cú
pháp:
odbc_result($rs,tên field hoặc số
thứ
tự
cột của field) $rs là biến đã có từ hàm odbc_exec() trong quá trình kết nối.
6363
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
PHP kết hợp với các CSDL khác
•
PHP và
MS Access−
Đọc giá
trị
các trường của một mẩu tin -
odbc_result()
•
Ví
dụ: đọc tên công ty trong bảng khách hàng ở
trên Cách 1: sử dụng số thứ tự cột – với cột tên công ty có thứ tựlà 1
$conn=odbc_connect('Northwind','','');$sql="SELECT * FROM customers"; $rs=odbc_exec($conn,$sql); $compname=odbc_result($rs,1);
6464
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
PHP kết hợp với các CSDL khác
•
PHP và
MS Access−
Đọc giá
trị
các trường của một mẩu tin -
odbc_result()
•
Ví
dụ: đọc tên công ty trong bảng khách hàng Cách 2: sử dụng tên cột – với cột tên công ty có tên cột là‘CompanyName’
$conn=odbc_connect('Northwind','','');$sql="SELECT * FROM customers"; $rs=odbc_exec($conn,$sql); $compname=odbc_result($rs,"CompanyName");
6565
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
PHP kết hợp với các CSDL khác
•
PHP và
MS Access−
Đóng kết nối ODBC -
odbc_close()
•
Dùng để đóng kết nối ODBC đang mở.
•
Cú
pháp:
odbc_close($conn);
6666
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
PHP kết hợp với các CSDL khác
•
PHP và
SQL Server−
Tạo kết nối tới CSDL•
Bước 1: Mở Administrative Tools trong Control Panel
•
Bước 2: Trong cửa sổ
Administrative Tools chọn biểu tượng Data Sources (ODBC)
6767
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
PHP kết hợp với các CSDL khác
•
PHP và
SQL Server−
Tạo kết nối tới CSDL•
Bước 3: Trong cửa sổ
ODBC Data Source Administrator chọn tab System DNS
•
Bước 4: Nhấn nút Add trên Tab System DNS
6868
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
PHP kết hợp với các CSDL khác
•
PHP và
SQL Server−
Tạo kết nối tới CSDL•
Bước 5: Chọn SQL Server => nhấn nút Finish
6969
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
PHP kết hợp với các CSDL khác
•
PHP và
SQL Server−
Tạo kết nối tới CSDL•
Bước 6: Đặt tên cho Data Source (DNS) trong mục Name và
chọn server cần kết nối tới trong mục Server => nhấn nút Next
7070
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
PHP kết hợp với các CSDL khác
•
PHP và
SQL Server−
Tạo kết nối tới CSDL•
Bước 7: Xác định cách thức kết nối tới SQL Server theo tài khoản của Window NT hay tài khoản của SQL Server => nhấn nút Next
7171
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
PHP kết hợp với các CSDL khác
•
PHP và
SQL Server−
Tạo kết nối tới CSDL•
Bước 8: Lựa chọn CSDL cần kết nối của SQL Server trong mục Change Default Database to => nhấn nút Next
7272
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
PHP kết hợp với các CSDL khác
•
PHP và
SQL Server−
Tạo kết nối tới CSDL•
Bước 9: Nhấn nút Test Data Source để
kiểm tra việc kết nối với nguồn dữ
liệu có
thành công hay không => nhấn nút OK
7373
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN TP.HCM
TRUNG TÂM TIN HỌC
PHP kết hợp với các CSDL khác
•
PHP và
SQL Server−
Tạo kết nối tới CSDL•
Bước 10: Hoàn thành việc kết nối CSDL => nhấn nút OK