Tải bản đầy đủ (.pdf) (40 trang)

bài giảng lập trình web php - chương 04 kết nối php với mysql - trường đh sp tp. hcm

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (883.37 KB, 40 trang )

Đ i H c Sư Ph m Tp. H Chí Minh

LẬP TRÌNH WEB PHP

Chương 04: K t n i PHP v i MySQL


Nội dung
1.
2.
3.
4.
5.

Các ki u d li u cơ b n trong MySQL
Các l nh thông d ng trong MySQL
K t n i MySQL t PHP
Quy trình k t n i vào MySQL
Các bư c truy c p CSDL MySQL

2


1. Các ki u d

li u cơ b n trong MySQL

Ki u

Mô t


char(length)
char(length)

t i đa 255 ký t , chi u dài c đ nh = length

varchar(length)
varchar(length)

t i đa 255 ký t , chi u dài đ ng <= length

text

t i đa 65536 ký t

int(length)
int(length)

-2.147.483.648 đ n +2.147.483.647

decimal(length,dec)
decimal(length,dec)

t i đa length ch s trong đó dec ch s
th p phân

3


1. Các ki u d li u thông d ng trong
MySQL

Ki u

Mô t

enum(“option1”,
enum(“option1”,
“option2”,…)

t p h p t đ nh, nghĩa t i đa 65.535 giá tr

date

yyyy-mmyyyy-mm-dd

time

hh:mm:ss

datetime

yyyy-mmyyyy-mm-dd hh:mm:ss

4


2. Các l nh thông d ng trong MySQL
Ki u

Mô t


CREATE

t o CSDL ho c b ng

ALTER

thay đ i b ng có s n

SELECT

ch n d li u t b ng

DELETE

xóa d li u kh i b ng

DESCRIBE

xem thơng tin mô t v c u trúc b ng

INSERT INTO

ghi giá tr vào b ng

UPDATE

c p nh t d li u đã có trong b ng

DROP


xóa b ng hay tồn b CSDL

5


2. Các l nh thông d ng trong MySQL
CREATE INDEX indexname ON tablename (column [ASC|DESC],
...);
CREATE PROCEDURE procedurename( [parameters] ) BEGIN ...
procedurename( [parameters]
END;
CREATE TABLE tablename
(
column datatype [NULL|NOT NULL]
column datatype [NULL|NOT NULL]
...
);

[CONSTRAINTS],
[CONSTRAINTS],

CREATE USER username[@hostname] [IDENTIFIED BY
username[@hostname]
[PASSWORD] 'password'];
'password'];
CREATE [OR REPLACE] VIEW viewname AS SELECT ...;
6


2. Các l nh thông d ng trong MySQL

ALTER TABLE tablename
(

ADD
column datatype
[NULL|NOT
NULL] [CONSTRAINTS],
CHANGE column columns datatype [NULL|NOT
NULL] [CONSTRAINTS],
DROP column,
...
);

7


2. Các l nh thông d ng trong MySQL
SELECT columnname, ...
columnname,
FROM tablename, ...
tablename,
[WHERE ...]
[UNION ...]
[GROUP BY ...]
[HAVING ...]
[ORDER BY ...];
VD: SELECT * FROM ketqua;
8



2. Các l nh thông d ng trong MySQL
DELETE FROM tablename
[WHERE ...];
VD:
DELETE FROM ketqua WHERE
MaSV = ‘K29.103.010’

9


2. Các l nh thông d ng trong MySQL
INSERT INTO tablename [(columns, ...)]
VALUES(values,
VALUES(values, ...);
INSERT INTO tablename VALUES(value1,
VALUES(value1,
value2, …, valuen);
VD:
INSERT INTO ketqua (mamon, diem) VALUES
(‘LTWEB’, 10);
INSERT INTO ketqua VALUES(‘’, ‘K29.103.010’,
VALUES(‘’,
‘LTWEB’, 10);
10


2. Các l nh thông d ng trong MySQL
UPDATE tablename
SET columname = value, ...
[WHERE ...];

VD:
UPDATE ketqua SET diem = 10 WHERE MaSV
= ‘K29.103.010’

11


2. Các l nh thông d ng trong MySQL
DROP DATABASE | INDEX | PROCEDURE |
TABLE | TRIGGER | USER | VIEW itemname;
VD:
• Xóa b ng SINHVIEN: DROP TABLE SinhVien
• Xóa CSDL QLSV: DROP DATABASE QLSV;

12


Giao ti p dịng l nh
• K t n i mysql server
mysql [-h hostname] [-P portnumber] -u username -p
[- hostname] [- portnumber]
mysql [-h hostname] [-P portnumber] --user=user ---user=user
password=pass
password=pass

Nh p l nh sau d u nh c l nh mysql>
mysql>
M i l nh SQL k t thúc b ng d u ;

13



Giao ti p đ h a
• M t s cơng c thông d ng
SQLyog Enterprise
phpMyAdmin
MySQL Query Browser
MySQL Maestros
Navicat
MySQL Manager

14


3. K t n i MySQL t

PHP

PHP script
Thư vi n chu n

Thư vi n c i ti n

mysql

mysqli

S d ng hàm

mysql


S d ng l p

mysqli

S d ng hàm

mysqli

mysqli_stmt
mysqli_result

15


Thư vi n mysql c i ti n trong PHP5
• Thi t l p trong php.ini
extension=php_mysqli.dll

• Ưu đi m





H tr l p trình hư ng đ i tư ng
H tr nhân b n và phân tán CSDL
Nén và mã hóa d li u trên k t n i
T i ưu hi u năng và mã


16


4. Quy trình k t n i vào MySQL
1.
2.
3.
4.
5.
6.

M k t n i đ n CSDL
Ch n CSDL
Ch n b ng mã (n u c n)
X lý CSDL
D nd p
Đóng k t n i

17


Bư c 1: M k t n i đ n CSDL
// OOP mysqli
mysqli('hostname', 'username',
$mysqli = new mysqli('hostname', 'username',
'password', 'dbname');
password', 'dbname');
// mysqli
$link = mysqli_connect('hostname',
mysqli_connect('hostname',

'username', 'password', 'dbname');
username', 'password', 'dbname');

18


Bư c 2: Ch n CSDL
// OOP mysqli
$mysqli->select_db('dbname');
$mysqli->select_db('dbname');
// mysqli
mysqli_select_db($link,
mysqli_select_db($link, 'dbname');

19


Bư c 3: Ch n b ng mã (n u c n)
// OOP mysqli
mysqli->query($link,
mysqli->query($link, "SET NAMES ‘character set’")
‘character set’")
// mysqli
mysqli_query($link,
mysqli_query($link, "SET NAMES ‘character set’")
‘character set’")

VD: SET NAMES UTF8

20



Bư c 4: X


lý CSDL

Truy v n
// OOP mysqli
$result = mysqli->query(“query")
mysqli->query(“query")
// mysqli
$result = mysqli_query($link, “query")
mysqli_query($link,

21


Bư c 4: X


L y d li u t

lý CSDL (tt)
truy v n

// OOP mysqli
$row = $result->fetch_row()
$result$row = $result->fetch_assoc()
$result$row = $result->fetch_array(result_type)

$result->fetch_array(result_type)
// mysqli
$row = mysqli_fetch_row($result)
mysqli_fetch_row($result)
$row = mysqli_fetch_assoc($result)
mysqli_fetch_assoc($result)
$row = mysqli_fetch_array($result, result_type)
mysqli_fetch_array($result, result_type)

22


Bư c 5: D n d p
// OOP mysqli
$result->close()
$result->close()
// mysqli
mysqli_free_result($result)
mysqli_free_result($result)

23


Bư c 6: Đóng k t n i
// OOP mysqli

$mysqli$mysqli->close()
// mysqli

mysqli_close($link)


24


5. Các bước truy cập CSDL MySQL
1.
2.
3.
4.
5.

T o k t n i đ n database server
L a ch n CSDL
Xây d ng truy v n và th c hi n truy v n
X lý k t qu tr v
Đóng k t n i đ n server

25


×