Search…

Thao Tác với MySQL Database Sử Dụng MySQLi Extension trong PHP

09/09/20204 min read
Hướng dẫn cách thao tác với MySQL database sử dụng MySQLi Extension trong ngôn ngữ PHP.

Tổng quan về MySQL

MySQL có một số đặc điểm nổi bật sau đây:

  • MySQL là hệ cơ sở dữ liệu sử dụng cho web.
  • MySQL hoạt động trên một máy chủ (server).
  • MySQL phù hợp cho ứng dụng nhỏ và lớn.
  • MySQL sử dụng cú pháp SQL.
  • MySQL rất nhanh và dễ dàng sử dụng.
  • MySQL hỗ trợ nhiều nền tảng khác nhau như Windows, Linux, ...
  • MySQL có phiên bản hoàn toàn miễn phí và có phiên bản trả phí.

Dữ liệu trong MySQL được lưu trữ dưới dạng bảng. Mỗi bảng là tập hợp các dữ liệu có quan hệ với nhau chứa các dòng và cột.

Ví dụ trong công ty cần quản lý nhân viên. Tương ứng sẽ có table Employee đơn giản như sau:

ID Name Gender Salary
1 Nguyen Van A Male 3.000.000
2 Nguyen Van B Male 5.000.000
3 Nguyen Van C Male 10.000.000

Thao tác với MySQL trong PHP

Connect

Với bất kì hệ quản trị cơ sở dữ liệu nào, để bắt đầu làm việc được với nó thì đầu tiên phải connect với hệ quản trị database đó.

Trong PHP mở connect như sau:

$conn = mysqli_connect("servername", "username", "password", "dbname");

Giải thích: Hàm mysqli_connect sẽ mở một connect tới MySQL với các tham số như sau:

  • Tham số thứ 1: Servername , nếu đang test ở local truyền vào localhost.
  • Tham số thứ 2: Username của database.
  • Tham số thứ 3: Password của database.
  • Tham số thứ 4: database muốn làm việc, mọi câu truy vấn sẽ thực thi trên database này. Lưu ý, tham số này có thể chưa cần truyền nếu muốn tạo mới database. 

Có thể chọn database muốn thao tác bằng cách sử dụng câu lệnh mysqli_select_db

mysqli_select_db("connect", "dbname"); 

Với tham số lần lượt là biến connect và tên database.

Luôn luôn kiểm tra connect trước khi thao tác với MySQL.

if(!$conn)
{
	echo "Connect Failed!". mysqli_connect_error($conn);
}
else
{
	echo "Successful";
}

Hàm mysqli_connect_error($conn) sẽ trả về lỗi nếu connect thất bại.

Tạo connect

$servername = 'localhost';
$username = 'root';
$password = '';
		
$conn = mysqli_connect($servername, $username, $password);

if(!$conn)
{
	echo "Connect Failed!". mysqli_connect_error($conn);
}
else
{
	echo "Successsful";
}

Do đang test ở môi trường local nên:

  • $servername = 'localhost'
  • $username  = 'root'
  • $password = ''.

Create database

Sau khi connect thành công đến MySQL thì hoàn toàn có quyền thực thi các thao tác trên nó. 

Mỗi thao tác cần tạo 1 câu truy vấn SQL mà sử dụng hàm mysqli_query để thực thì câu truy vấn đó xuống MySQL.

Tạo 1 database có tên là QuanLyNhanVien

$sql = "CREATE DATABASE QuanLyNhanVien";
mysqli_query($conn, $sql);

Những thao tác như insert, update, delete hoàn toàn tương tự.

Vào phpMyAdmin sẽ thấy một database có tên QuanLySinhVien được tạo ra.

Create table

Tạo table có tên là Employee gồm các cột là Id tự tăng, Name, Gender, Salary

Tạo câu truy vấn

$dbname = 'QuanLyNhanVien';
mysqli_select_db($conn, $dbname);

$sqlTable = "CREATE TABLE Employee(
			Id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
			Name VARCHAR(100) NOT NULL,
			Gender VARCHAR(5) NOT NULL,
			Salary DECIMAL NOT NULL
			)";

Thực thi câu truy vấn

mysqli_query($conn, $sqlTable);

Kết quả sau khi thực thi câu truy vấn

Insert

$sqlInsert = "INSERT INTO Employee(Name, Gender, Salary) VALUES ('Nguyen Van A', 'Male', 80000)";

Và thực thi câu truy vấn.

mysqli_query($conn, $sqlInsert);

Select

Tạo câu truy vấn select. Lấy về tất cả các trường dữ liệu và tất cả các dòng có trong table Employee.

$sqlSelect = "SELECT * FROM Employee";

Thực thi câu truy vấn trả về $result

$result = mysqli_query($conn, $sqlSelect);

Khác với những lần thực thi truy vấn khác thì đối với select cần trả về $result để có thể lấy ra thông tin như dưới đây:

if(mysqli_num_rows($result) > 0)
{
	while ($row = mysqli_fetch_assoc($result))
	{
		echo $row['Id'].','.$row['Name'].','.$row['Gender'].','.$row['Salary'];
		echo "<br />";
	}	
}

Giải thích:

Dòng 1: Hàm mysqli_num_rows($result) lấy về tổng số dòng lấy được khi thực thi câu truy vấn select. Nếu kết quả trả về > 0 sẽ lấy ra data của từng dòng.

Dòng 3: mysqli_fetch_assoc($result) sẽ trả đổ dữ liệu của 1 dòng trong Employeevào mảng $row.

Dòng 5: Xuất các thông tin ra màn hình.

Update

Viết câu truy vấn update lương cho nhân viên có Id = 1 lên 10.000.000.

$sqlUpdate = "UPDATE Employee SET Salary= 10000000 WHERE Id = 1";

Thực thi câu truy vấn update

mysqli_query($conn, $sqlUpdate);

Delete

Câu truy vấn xóa nhân viên có id = 1 ra khỏi table Employee.

$sqlDelte = "DELETE FROM Employee WHERE id = 1";

Thực thi câu truy vấn để thực hiện delete.

mysqli_query($conn, $sqlDelte);

Close Connect

Sau khi thao tác xong với database. Đóng connect.

mysqli_close($conn);
IO Stream

IO Stream Co., Ltd

30 Trinh Dinh Thao, Hoa Thanh ward, Tan Phu district, Ho Chi Minh city, Vietnam
+84 28 22 00 11 12
developer@iostream.vn

383/1 Quang Trung, ward 10, Go Vap district, Ho Chi Minh city
Business license number: 0311563559 issued by the Department of Planning and Investment of Ho Chi Minh City on February 23, 2012

©IO Stream, 2013 - 2024