Tài liệu hướng dẫn tạo cơ sở dữ liệu trong hệ quản trị MySQL qua giao diện PHPMyadmin, các bước để có thể móc nối với CSDL từ trang PHP sử dụng thư viện mysqli. Tại mỗi bước có ví dụ cụ thể, rõ ràng nhằm giúp người đọc dễ dàng tiếp thu kiến thức và rèn luyện kỹ năng.
Trang 11
PHP và MySQL
TRẦN THỊ BẠCH HUỆ
2
Nội dung
Giới thiệu MySQL
Tạo CSDL trong MySQL
Các bước truy cập CSDL MySQL từ trang PHP
3
Giới thiệu MySQL
MySQL là gì?
– MySQL là một hệ quản trị CSDL
– Dữ liệu trong MySQL được lưu trữ dưới dạng các
bảng (tables) Bảng là tập hợp các dữ liệu có liên
quan
– Download MySQL tại:
http://www.mysql.com/downloads/
4
Tạo CSDL trong MySQL
Nhắp vào biểu tượng WampServer ở gốc
phải của thanh Taskbar, chọn phpMyAdmin
xuất hiện giao diện như slide sau
Trang 25
Hình 1: Một phần giao diện của phpMyAdmin 3.2.0.1
6
Các bước tạo CSDL trong phpMyAdmin – Gõ tên CSDL vào khung “Create New Database” | chọn bảng mã | nhấn nút Create
– Gõ tên table cần tạo vào khung Name và số cột của table đó vào khung “Number of fields” | nhấn nút Go
– Điền đầy đủ thông tin cho table rồi nhấn nút Save
– Để tiếp tục tạo thêm table khác nhấp vào link Database:<tên CSDL của bạn> ở phía trên giao diện
7
Bài tập
Tạo CSDL “QuanlySV” gồm các table như
sau:
– Khoa(maK chuỗi(4), tenK chuỗi(30))
– SinhVien(maSV chuỗi(4), hoSV chuỗi(30), tenSV
chuỗi(10), ns ngày, phai true/false, que chuỗi(50),
maK chuỗi(4))
– Ketqua(maSV chuỗi(4), maMH chuỗi(4), diem
number(2))
– Monhoc(maMH chuỗi(4), tenMH chuỗi(30), st
number)
8
Sinh viên nghiên cứu thêm các hỗ trợ khác trong phpMyAdmin
Trang 39
Các bước truy cập CSDL MySQL từ
trang PHP
1. Tạo kết nối đến MySQL
2. Xử lý dữ liệu
3. Đóng nối kết
10
Tạo kết nối tới MySQL
Trước khi truy cập dữ liệu trong MySQL, cần tạo một nối kết tới nó Để thực hiện, dùng
hàm mysqli_connect() có cú pháp như sau:
mysqli_connect(host, user, pass, database);
KQTV: con trỏ kết nối nếu kết nối thành công False nếu kết nối thất bại
11
Ý nghĩa:
– host: Tên MySQL server cần kết nối tới Giá trị
mặc định là localhost:3306
– user: Tên user Giá trị mặc định được định nghĩa
bởi thuộc tính mysql.default_user
– pass: Mật khẩu của user Giá trị mặc định được
định nghĩa bởi thuộc tính
mysql.default_password
– database: Tên cơ sở dữ liệu
12
Ví dụ:
<?php $con = mysqli_connect("localhost","root","","qlsv");
if ($con==false) die('Lỗi kết nối');
// some code
?>
Trang 413
Hàm die(“Chuỗi”): Đưa ra thông báo và
kết thúc
Có thể tạo kết nối theo cách sau:
$con = mysqli_connect(host,user,pass,database)
or die(“Không kết nối được”);
– Với cách viết trên, die chỉ thực hiện khi lệnh
trước nó không thành công
14
Xử lý dữ liệu
Ở bước này, chúng ta có thể dùng hàm
mysqli_query để thực hiện một số thao tác liên quan đến CSDL như sau:
– Thêm – Sửa – Xóa – Rút trích và thống kê – …
15
Cú pháp
KQTV mysqli_query ($conn, $query)
Ý nghĩa: Thực hiện câu $query trên
CSDL hiện hành
– $conn: Con trỏ kết nối
– $query: Câu SQL
16
Kết quả trả về (KQTV):
– Đối với câu lệnh SELECT, SHOW, DESCRIBE, EXPLAIN,… kết quả trả về là tập dữ liệu (resource) nếu thành công, ngược lại trả về
FALSE
– Đối với câu lệnh INSERT, UPDATE, DELETE,
DROP,… kết quả trả về TRUE nếu thành công, ngược lại trả về FALSE
– mysqli_query() trả về FALSE nếu table cần truy
cập không được cho phép
Trang 517
Nên dùng một hàm thích hợp để lấy dữ liệu
từ tập dữ liệu trả về của hàm mysqli_query
cho việc xử lý về sau
Một số hàm thường dùng:
– mysqli_fetch_array()
– mysqli_num_rows()
– mysqli_num_fields()
– mysqli_field_count()
– mysqli_fetch_fields()
– mysqli_affected_rows()
(Tham khảo cú pháp các hàm trong w3schools)
18
Hàm mysqli_fetch_array($result, $type) – $result: Kết quả trả về của hàm mysqli_query khi thực hiện thành công
– $type: Chọn 1 trong 3 giá trị
MYSQLI_ASSOC
MYSQLI_NUM
MYSQLI_BOTH
KQTV: Một dòng dữ liệu (dạng mảng) lấy từ
tập $result nếu thành công Ngược lại trả về
FALSE
19
Ví dụ:
<?php
$conn= mysqli_connect("localhost", "root", "", "qlsv")
or die("Lỗi nối kết");
$result = mysqli_query($conn,
SELECT masv,hosv,tensv FROM sinhvien");
while ($row = mysqli_fetch_array($result)) {
echo "$row[tensv]<br>";
}
mysqli_close($conn);
?>
20
Đóng nối kết
Cú pháp
bool mysqli_close ($conn)
Hàm trả về TRUE nếu thành công, ngược lại trả
về FALSE
Ví dụ:
<?php $conn = mysqli_connect("localhost","root","", "qlsv");
if (!$conn) die("Lỗi kết nối");
mysqli_close($conn);
?>
Trang 6Hết
21