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

Bài giảng phát triển ứng dụng web bằng PHP phần 6 giới thiệu về PHP và cơ sở dữ liệu 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 (3.39 MB, 47 trang )

• GVHD: Dương Khai Phong
• Email:
• Website:




1/ Giới thiệu tổng quan Web
2/ Ngôn ngữ HTML và JavaScript
3/ Ngôn ngữ PHP căn bản
4/ Các đối tượng trong PHP

5/ PHP và hướng đối tượng
6/ PHP và cơ sở dữ liệu MySQL
7/ PHP và AJAX
8/ PHP và các hệ thống mã nguồn mở
9/ Triển khai ứng dụng PHP


PHẦN 5:


1. Giới thiệu
2. Các vấn đề cơ bản về DBMS MySQL
3. PHP và các thao tác cơ bản với DBMS MySQL
4. Các vấn đề lưu ý trong xử lý CSDL


 Most applications that you will work with or encounter will
involve the use of some sort of data storage container. In some
cases, you will need nothing more than files for this purpose, but


often, that container is some sort of database engine. PHP
provides access to a great number of different database systems,
many of which are relational in nature and can be interrogated
using Structured Query Language (SQL).
 In order to utilize these databases, it is important to have a firm
grasp on SQL, as well as the means to connect to and interact
with databases from PHP.
 This chapter reviews the basic concepts of SQL and database
connectivity from PHP using PHP Data Objects (PDO).
interfaces. (ref: page 132 of ebook “phparchitects Zend PHP
5 Certification Study Guide”)


MODELs FOR STORING DATA

DATABASE
DBMSs?


1. Giới thiệu
2. Data types
3. Databases
4. Tables
5. Manipulations
6. Retrieving

 DBMS MySQL:
 MySQL là một hệ quản trị cơ sở dữ
liệu nguồn mở
Ref: /> Sử dụng MySQL:



1. Giới thiệu

 Data types:

2. Data types

Data types

3. Databases

int or integer

Signed integer number, 32 bits in length

smallint

Signed integer number, 16 bits in length

4. Tables

real

Signed floating-point number, 32 bits in length

5. Manipulations

float


Signed floating-point number, 64 bits in length

char

Fixed-length character string

varchar

Variable-length character string

6. Retrieving

Meaning


1. Giới thiệu
2. Data types
3. Databases
4. Tables
5. Manipulations
6. Retrieving

 Databases
CREATE DATABASE <dbname>
CREATE SCHEMA <dbname>

 Tables
CREATE TABLE <tablename> (
<col1name> <col1type> [<col1attributes>],
[...

<colnname> <colntype> [<colnattributes>]]
)

 Lưu ý
 Khóa chính
 Khóa ngoại
 Các thao tác chỉnh sửa cấu trúc bảng: thêm,
xóa, sửa, …


1. Giới thiệu

 Manipulations (ADD)

2. Data types

INSERT INTO <tablename> VALUES (<field1value>[, ..., <fieldnvalue>])

3. Databases

INSERT INTO <tablename>(<field1>[, ..., <fieldn>])
VALUES
(<field1value>[, ..., <fieldnvalue>])

4. Tables

 Manipulations (DELETE)

5. Manipulations
DELETE FROM <tablename>;


6. Retrieving

DELETE FROM <tablename> WHERE <conditions>;

 Manipulations (UPDATE)
UPDATE <tablename> SET field = value;
UPDATE <tablename>
SET field1 = value1,…, fieldn = valuen
WHERE <conditions>;


1. Giới thiệu

 Retrieving

2. Data types

SELECT < *, [field1value]>[, ..., <fieldnvalue>]
3. Databases
4. Tables
5. Manipulations

FROM <tablename>
[
WHERE <conditions>
GROUP BY < field1value>[, ..., <fieldnvalue>]

6. Retrieving


HAVING <conditions>
ORDER BY <field1value>[, ..., <fieldnvalue>]
]








Họ tên:
Mã SV:
Lớp:
Khoá:
Email:

01

A
B
C
D

02



19


20


Câu 1: Câu truy vấn nào sau đây gây ra lỗi:
A. SELECT column1, column2, column2 FROM tablename;
B. SELECT * FROM tablename WHERE columnname LIKE
%keyword%;
C. SELECT * FROM tablename WHERE column1 LIKE 'keyword' AND
column2 LIKE 'keyword';
D. SELECT DISTINCT column1 FROM tablename ORDER BY column1;


Câu 2: Chọn phát biểu sai:
A. Ký hiệu “=” là một phép gán giá trị trong mệnh đề where
B. INT là một kiểu dữ liệu trong DBMS MySQL
C. Có thể thêm thuộc tính cho một bảng khi bảng đó đã chứa dữ liệu
D. Các từ khóa trong câu truy vấn của DBMS MySQL không phân biệt
chữ hoa hay chữ thường.


Câu 3: Cho bảng emplyees và các bộ giá trị như sau:
empid name managerid
a1
bob
NULL
b1
jim
a1
B2
tom

a1
Chọn phát biểu đúng từ câu truy vấn sau
select count(managerid) from employees
A. Câu truy vấn trả về 3
B. Câu truy vấn trả về 2
C. Câu truy vấn trả về 1
D. Câu truy vấn thông báo lỗi do thuộc tính managed có chứa giá trị
null.


Câu 4: Chọn lệnh cần điền cho từ key:
CREATE TABLE tblPRODUCT_1 key
A.
B.
C.
D.

SELECT * FROM tblPRODUCT_1;
(tblPRODUCT_1 varchar(20));
SELECT * FROM tblPRODUCT_2;
Tất cả đều sai


Câu 5: Chọn biết kết quả của câu truy vấn từ bảng tblPRODUCT sau:

productid
tblPRODUCT

productname


price

bo01

china book

1500

pe01

china pencil

3500

select count(*)from tblPRODUCT
where productid='bo01' and productid='pe01';
A. 1
B. 2
C. Câu lệnh thực thi báo lỗi
D. Câu lệnh thực thi nhưng không trả về kết quả


a. Giới thiệu:
 Các đối tượng liên quan:
 mysql_connect
 mysql_error
 mysql_select_db
 mysql_query
 mysql_fetch_row
 …



b. Các bước thao tác CSDL trong PHP:

 Bước 1: Kết nối với CSDL
 Bước 2: Xây dựng câu truy vấn dữ liệu
 Bước 3: Thực thi câu truy vấn
 Bước 4: Xử lí kết quả
 Bước 5: Ngắt kết nối với CSDL


1. Bước 1

 Bước 1 (Kết nối với CSDL)

2. Bước 2

Connection

3. Bước 3
4. Bước 4
5. Bước 5

Connected
Database

PHP Pages

 Kết nối MySQL và chọn CSDL
resource mysql_connect ( string host,

string LoginName,
string password)

int mysql_select_db

(

string dbName,
resource connection)


1. Bước 1
2. Bước 2
3. Bước 3
4. Bước 4
5. Bước 5

 Bước 1 (Kết nối với CSDL)


Ví dụ

$SERVER = "localhost";
$USERNAME = "root";
$PASSWORD = "";
$DBNAME = "mydata";
$conn = mysql_connect($SERVER, $USERNAME,
$PASSWORD);
if ( !$conn ) {

//Không kết nối được, thoát ra và báo lỗi
die("không nết nối được vào MySQL server");
} //end if
//chọn CSDL để làm việc
mysql_select_db($DBNAME, $conn);
//đóng kết nối
mysql_close($conn);
?>


1. Bước 1
2. Bước 2
3. Bước 3

 Bước 2 (Xây dựng câu truy vấn dữ liệu)
SQL

Ví dụ

INSERT

$strSQL = "INSERT INTO Users(UserName,
Password) VALUES ('admin','123')"

DELETE

$strSQL = "DELETE FROM Users WHERE
UserName = 'lvminh' "

UPDATE


$strSQL = "UPDATE Users SET Password = 'abc'
WHERE UserName = 'admin' "

SELECT

$strSQL = "SELECT * FROM Users WHERE
UserName = 'admin' "

4. Bước 4
5. Bước 5


1. Bước 1

 Bước 3 (Thực thi câu truy vấn)

2. Bước 2

SQL

3. Bước 3
4. Bước 4
5. Bước 5

Result

PHP Pages

Database


 Kết nối MySQL và chọn CSDL
resource mysql_query(
string SQL_cmd,
resource connection )
 Ví dụ:
$strSQL = "INSERT INTO Users (UserName, Password) VALUES
('admin','123')";
mysql_query($strSQL,$conn);
$strSQL = "SELECT * FROM Users";
$result = mysql_query($strSQL,$conn);
?>


1. Bước 1

 Bước 4 (Xử lý kết quả)

2. Bước 2

Result

3. Bước 3
4. Bước 4
5. Bước 5

Database

PHP Pages


 Hiển thị dữ liệu trả về
 Sử dụng hàm
$row = mysql_fetch_assoc($result)
$row = mysql_fetch_row($result)
 Số lượng FIELD
$num = mysql_num_fields($result);
 Truy cập đến từng FIELD
echo $row["Username"];
Hoặc
echo $row[0];

UserName

Password

A

AA

B

BB

C

CC

D


DD





X

XX

Y

YY

Z

ZZ

cursor


1. Bước 1

 Bước 5 (Ngắt kết nối với CSDL)

2. Bước 2

Result

3. Bước 3

4. Bước 4
5. Bước 5

PHP Pages



Database

Tự động thực thi khi kết thúc mã lệnh nhờ cơ chế tự động thu rác
(garbage collector)
bool mysql_close( resource connection);


×