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

Bài giảng phát triển ứng dụng web – web programming chương 11 kết nối PHP với MySQL

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 (5.4 MB, 61 trang )

Kết nối PHP với MySQL

Ths. Lương Trần Hy Hiến, khoa CNTT, ĐH Sư phạm TpHCM

1


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)

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



varchar(length)

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

text

tối đa 65536 ký tự

int(length)

-2.147.483.648 đến +2.147.483.647
tối đa length chữ số trong đó dec chữ số

decimal(length,dec) thập phân

3


1. Các kiểu dữ liệu cơ bản trong MySQL
Kiểu

Mô tả

enum(“option1”, tập hợp tự định nghĩa, tối đa 65.535
giá trị
“option2”,…)
date

yyyy-mm-dd


time

hh:mm:ss

datetime

yyyy-mm-dd hh:mm:ss

4


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

Mô tả

CREATE
ALTER
SELECT
DELETE
DESCRIBE
INSERT INTO
UPDATE
DROP

tạo CSDL hoặc bảng
thay đổi bảng có sẵn
chọn dữ liệu từ bảng
xóa dữ liệu khỏi bảng

xem thông tin mô tả về cấu trúc bảng
ghi giá trị vào bảng
cập nhật dữ liệu đã có trong bảng
xóa bảng hay toà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 ... END;
CREATE TABLE tablename
(
column datatype [NULL|NOT NULL]
column datatype [NULL|NOT NULL]
...
);

[CONSTRAINTS],
[CONSTRAINTS],

CREATE USER username[@hostname] [IDENTIFIED BY [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, ...
FROM 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, ...);
INSERT INTO tablename VALUES(value1, value2, …,
valuen);
VD:
INSERT INTO ketqua (mamon, diem) VALUES
(‘LTWEB’, 10);
INSERT INTO ketqua VALUES(‘’, ‘K29.103.010’,
‘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
mysql [-h hostname] [-P portnumber] --user=user -password=pass

Nhập lệnh sau dấu nhắc lệnh 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

mysql

mysqli

Sử dụng hàm

Sử dụng lớp

mysql



mysqli



mysqli_stmt



mysqli_result

PDO
Sử dụng hàm

mysqli


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ã

• Nhược điểm


Chỉ làm việc với CSDL MySQL

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ọn dẹp
Đóng kết nối

17


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

18


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

mysqli_select_db($link, 'dbname');

19


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

VD: SET NAMES UTF8

20


Bước 4: Xử lý CSDL


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

21


Bước 4: Xử lý CSDL (tt)



Lấy dữ liệu từ truy vấn
// OOP mysqli
$row = $result->fetch_row()
$row = $result->fetch_assoc()
$row = $result->fetch_array(result_type)
// mysqli
$row = mysqli_fetch_row($result)
$row = mysqli_fetch_assoc($result)
$row = mysqli_fetch_array($result, result_type)
22


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

23


Bước 6: Đóng kết nối
// OOP 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


×