ket hop php mysql

73
1 1 TRƯỜNG ĐẠI HC KHOA HC TNHIÊN TP.HCM TRUNG TÂM TIN HC HC PHN 5

Upload: dnguyenbinh

Post on 03-Jan-2016

70 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Ket Hop PHP MySQL

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

Page 2: Ket Hop PHP MySQL

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

Page 3: Ket Hop PHP 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

Page 4: Ket Hop PHP MySQL

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

Page 5: Ket Hop PHP MySQL

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−

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à

“”

Page 6: Ket Hop PHP MySQL

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−

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;

}?>

Page 7: Ket Hop PHP MySQL

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−

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

Page 8: Ket Hop PHP MySQL

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−

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());}

Page 9: Ket Hop PHP MySQL

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−

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

Page 10: Ket Hop PHP MySQL

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−

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);

Page 11: Ket Hop PHP MySQL

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−

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ề

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.

Page 12: Ket Hop PHP MySQL

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−

dụ: đóng kết nối đã mở

mysql_close($db);

Page 13: Ket Hop PHP MySQL

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().

pháp: mysql_error(connection);

Kết quả

trả

về

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ẽ

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

Page 14: Ket Hop PHP MySQL

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−

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());}

Page 15: Ket Hop PHP MySQL

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

Page 16: Ket Hop PHP MySQL

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

Page 17: Ket Hop PHP MySQL

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−

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ề

số lượng mẩu tin nếu thành công, ngược lại kết quả

trả

về

sẽ

FALSE nếu

thất bại.

Page 18: Ket Hop PHP MySQL

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−

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

Page 19: Ket Hop PHP MySQL

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

Page 20: Ket Hop PHP MySQL

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()•

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ử

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],…

Page 21: Ket Hop PHP MySQL

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()•

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] )

Page 22: Ket Hop PHP MySQL

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.

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);}

}...

Page 23: Ket Hop PHP MySQL

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() •

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ề

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ử

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”],…

Page 24: Ket Hop PHP MySQL

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() •

dụ:

...if (mysql_num_rows($result)<>0)

{print_r(mysql_fetch_array($result));

}...

Page 25: Ket Hop PHP MySQL

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.

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);}

}...

Page 26: Ket Hop PHP MySQL

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() •

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ề

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,…

Page 27: Ket Hop PHP MySQL

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()•

dụ:

...if (mysql_num_rows($result)<>0)

{print_r(mysql_fetch_object($result));

}...

Page 28: Ket Hop PHP MySQL

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.

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);}

}...

Page 29: Ket Hop PHP MySQL

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ố

Page 30: Ket Hop PHP MySQL

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.

dụ: hiển thị

thông tin bảng khách hàng

Page 31: Ket Hop PHP MySQL

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ị.

Page 32: Ket Hop PHP MySQL

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•

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

Page 33: Ket Hop PHP MySQL

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ẻ

Page 34: Ket Hop PHP MySQL

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

Page 35: Ket Hop PHP MySQL

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•

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ẽ

một trong hai giá

trị

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.

Page 36: Ket Hop PHP MySQL

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•

dụ:

Page 37: Ket Hop PHP MySQL

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

Page 38: Ket Hop PHP MySQL

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

Page 39: Ket Hop PHP MySQL

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ố

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 &

Page 40: Ket Hop PHP MySQL

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ố•

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ố

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

Page 41: Ket Hop PHP MySQL

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ố”]•

dụ: nhận giá

trị

của tham số

mã sữa

$ma_sua = $_REQUEST["ma_sua"];

Page 42: Ket Hop PHP MySQL

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

Page 43: Ket Hop PHP MySQL

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.

Page 44: Ket Hop PHP 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−

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);

Page 45: Ket Hop PHP MySQL

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.

Page 46: Ket Hop PHP 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−

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);

Page 47: Ket Hop PHP MySQL

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

Page 48: Ket Hop PHP 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−

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);

Page 49: Ket Hop PHP MySQL

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

Page 50: Ket Hop PHP MySQL

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

Page 51: Ket Hop PHP MySQL

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

Page 52: Ket Hop PHP MySQL

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)

Page 53: Ket Hop PHP MySQL

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

Page 54: Ket Hop PHP MySQL

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

Page 55: Ket Hop PHP MySQL

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

Page 56: Ket Hop PHP MySQL

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

Page 57: Ket Hop PHP MySQL

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

Page 58: Ket Hop PHP MySQL

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);

Page 59: Ket Hop PHP MySQL

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()

Page 60: Ket Hop PHP MySQL

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 •

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);

Page 61: Ket Hop PHP MySQL

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ả

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ề

TRUE nếu nó

các mẩu tin kết quả, ngược lại kết quả

trả

về

FALSE

Page 62: Ket Hop PHP MySQL

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

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.

Page 63: Ket Hop PHP MySQL

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()

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);

Page 64: Ket Hop PHP MySQL

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()

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");

Page 65: Ket Hop PHP MySQL

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ở.

pháp:

odbc_close($conn);

Page 66: Ket Hop PHP MySQL

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)

Page 67: Ket Hop PHP MySQL

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

Page 68: Ket Hop PHP MySQL

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

Page 69: Ket Hop PHP MySQL

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

Page 70: Ket Hop PHP MySQL

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

Page 71: Ket Hop PHP MySQL

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

Page 72: Ket Hop PHP MySQL

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

Page 73: Ket Hop PHP MySQL

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