Phần quan trọng nhất của việc thiết kế và triển khai các trang web động là kết nối chương trình đã viết với cơ sở dữ liệu và đọc thông tin từ cơ sở dữ liệu. Trong PHP, có thể giao tiếp với nhiều loại cơ sở dữ liệu, nhưng trong thời gian chờ đợi, chính PHP và các ứng dụng tuyệt vời của PHP đề xuất sử dụng cơ sở dữ liệu MySQL. Trong phần này, chúng ta sẽ học cách kết nối cơ sở dữ liệu MySQL với PHP cũng như các hàm và lệnh quan trọng nhất của nó.
– Kết nối với máy chủ cơ sở dữ liệu MySQL
mysqli_connect(host,username,password,dbname);
Đoạn mã trên hiển thị cú pháp của hàm, được sử dụng để viết mã như sau:
<?php
// Create connection
$con=mysqli_connect(“example.com”,”peter”,”abc123″,”my_db”);
// Check connectionif (mysqli_connect_errno($con))
{
echo “Failed to connect to MySQL: ” . mysqli_connect_error();
}
?>
Để tương thích với ngôn ngữ các ngôn ngữ thì chúng ta nhập mã sau sau khi kết nối thành công với cơ sở dữ liệu
//change character set to utf8
mysqli_set_charset($con, “utf8”)
Để ngắt kết nối, chúng tôi cũng sử dụng chức năng sau:
con);
Contents
– Tạo cơ sở dữ liệu MySQL
Sau khi kết nối với máy chủ cơ sở dữ liệu, nếu không có cơ sở dữ liệu, chúng ta phải tạo nó. Các câu lệnh MySQL trong PHP thường được lưu trữ dưới dạng một chuỗi trong một biến mà chúng tôi gọi là chuỗi truy vấn, ví dụ:
SELECT LastName FROM Employees
Đoạn mã sau đây cho thấy cách xây dựng cơ sở dữ liệu bằng cách sử dụng mã PHP.
$con=mysqli_connect(“example.com”,“peter”,“abc123”);
// Check connection
if (mysqli_connect_errno())
{
echo “Failed to connect to MySQL: “ . mysqli_connect_error();
}
// Create database
$sql=“CREATE DATABASE my_db”;
if (mysqli_query($con,$sql))
{
echo “Database my_db created successfully”;
}
else
{
echo “Error creating database: “ . mysqli_error($con);
}
Trong đoạn mã trên, đầu tiên kết nối PHP được thiết lập với máy chủ cơ sở dữ liệu MySQL, sau đó các lệnh để tạo cơ sở dữ liệu được thực thi bằng hàm mysqli_query () và cuối cùng, thông báo liên quan đến kết quả của thao tác được hiển thị.
Nếu bạn muốn cơ sở dữ liệu của mình không có vấn đề với các ký tự Ba Tư, tốt hơn là sử dụng truy vấn sau.
CREATE DATABASE mydb DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
– Tạo bảng trong cơ sở dữ liệu MySQL
Sau khi tạo cơ sở dữ liệu, bạn cần sử dụng các bảng có liên quan để lưu trữ thông tin bên trong nó. Bạn có thể sử dụng mã sau để tạo bảng:
$con=mysqli_connect(“example.com”,“peter”,“abc123”,“my_db”);
// Check connection
if (mysqli_connect_errno())
{
echo “Failed to connect to MySQL: “ . mysqli_connect_error();
}
// Create table
$sql=“CREATE TABLE persons(FirstName CHAR(30),LastName CHAR(30),Age INT)”;
// Execute query
if (mysqli_query($con,$sql))
{
echo “Table persons created successfully”;
}
else
{
echo “Error creating table: “ . mysqli_error($con);
}
Để xác định khóa chính và thuộc tính tăng tự động, khi tạo bảng ta làm như sau:
$sql = “CREATE TABLE Persons
(
PID INT NOT NULL AUTO_INCREMENT,
PRIMARY KEY(PID),
FirstName CHAR(15),
LastName CHAR(15),
Age INT
)“;
Cụm từ AUTO_INCREMENT chỉ ra thuộc tính tự động tăng nội dung của trường trong cột tương ứng. Ví dụ: số id của người dùng thành viên trên trang web. PRIMARY KEY được lưu trữ để chỉ định trường chính và duy nhất của dữ liệu, có nghĩa là dữ liệu được lưu trữ từng dòng trong bảng cơ sở dữ liệu và mỗi hàng có một trường cụ thể là duy nhất và được sử dụng để xác định dữ liệu đó.
– Lưu trữ dữ liệu trong cơ sở dữ liệu MySQL
Để lưu trữ dữ liệu trong cơ sở dữ liệu, bạn phải sử dụng các lệnh sau:
INSERT INTO table_name (column1, column2, column3,…)
VALUES (value1, value2, value3,…)
Đoạn mã trên hiển thị trạng thái chung của lệnh này và để hiểu rõ hơn về lệnh, bạn có thể kiểm tra ví dụ sau:
$con=mysqli_connect(“example.com”,“peter”,“abc123”,“my_db”);
// Check connection
if (mysqli_connect_errno())
{
echo “Failed to connect to MySQL: “ . mysqli_connect_error();
}
mysqli_query($con,“INSERT INTO Persons (FirstName, LastName, Age)
VALUES (‘Peter’, ‘Griffin’,35)”);
mysqli_query($con,“INSERT INTO Persons (FirstName, LastName, Age)
VALUES (‘Glenn’, ‘Quagmire’,33)”);
mysqli_close($con);
Trong đoạn mã trên, họ và tên và tuổi của người dùng được lưu trữ trong các trường Age, LastName, FristName, tương ứng.
– Lưu dữ liệu từ biểu mẫu trong cơ sở dữ liệu MySQL
Biểu mẫu trên trang HTML:
<html>
<body>
<form action=“insert.php” method=“post”>
Firstname: <input type=“text” name=“firstname”>
Lastname: <input type=“text” name=“lastname”>
Age: <input type=“text” name=“age”>
<input type=“submit”>
</form>
</body>
</html>
Thông tin mã trên được gửi đến tệp insert.php sau khi nhấp vào Gửi để được xử lý ở đó và lưu trữ trong cơ sở dữ liệu. Mã để lưu trữ dữ liệu trong cơ sở dữ liệu, được viết trong tệp insert.php bên cạnh tệp Html cho các biểu mẫu, như sau:
$con=mysqli_connect(“example.com”,“peter”,“abc123”,“my_db”);
// Check connection
if (mysqli_connect_errno())
{
echo “Failed to connect to MySQL: “ . mysqli_connect_error();
}
$sql=“INSERT INTO Persons (FirstName, LastName, Age)
VALUES
(‘$_POST[firstname]’,’$_POST[lastname]’,’$_POST[age]’)”;
if (!mysqli_query($con,$sql))
{
die(‘Error: ‘ . mysqli_error($con));
}
echo “1 record added”;
mysqli_close($con);
– Chọn dữ liệu từ cơ sở dữ liệu MySQL và đọc dữ liệu
Sau khi lưu trữ thông tin trong cơ sở dữ liệu, chúng ta cần đọc nó khi cần thiết. Đó là như sau:
SELECT column_name(s)
FROM table_name
Đoạn mã trên hiển thị trạng thái chung của lệnh này, đoạn mã trên đọc dữ liệu column_name từ bảng table_name. Để hiểu rõ hơn về lệnh, hãy xem ví dụ sau:
$con=mysqli_connect(“example.com”,“peter”,“abc123”,“my_db”);
// Check connection
if (mysqli_connect_errno())
{
echo “Failed to connect to MySQL: “ . mysqli_connect_error();
}
$result = mysqli_query($con,“SELECT * FROM Persons”);
while($row = mysqli_fetch_array($result))
{
echo $row[‘FirstName’] . ” “ . $row[‘LastName’];
echo “<br>”;
}
mysqli_close($con);
– Hiển thị thông tin cơ sở dữ liệu MySQL trong bảng Html
Mã sau được sử dụng để hiển thị thông tin được lưu trữ trong bảng cơ sở dữ liệu:
$con=mysqli_connect(“example.com”,“peter”,“abc123”,“my_db”);
// Check connection
if (mysqli_connect_errno())
{
echo “Failed to connect to MySQL: “ . mysqli_connect_error();
}
$result = mysqli_query($con,“SELECT * FROM Persons”);
echo “<table border=’1′>
<tr>
<th>Firstname</th>
<th>Lastname</th>
</tr>”;
while($row = mysqli_fetch_array($result))
{
echo “<tr>”;
echo “<td>” . $row[‘FirstName’] . “</td>”;
echo “<td>” . $row[‘LastName’] . “</td>”;
echo “</tr>”;
}
echo “</table>”;
mysqli_close($con);
– Đặt khi đọc thông tin từ bảng cơ sở dữ liệu MySQL
Trong hầu hết các trường hợp, việc đọc dữ liệu từ cơ sở dữ liệu cũng phải có điều kiện. Ví dụ: chọn người dùng trên 13 tuổi.
SELECT column_name(s)
FROM table_name
WHERE column_name operator value
Để hiểu rõ hơn về đoạn mã trên, hãy xem ví dụ sau:
$con=mysqli_connect(“example.com”,“peter”,“abc123”,“my_db”);
// Check connection
if (mysqli_connect_errno())
{
echo “Failed to connect to MySQL: “ . mysqli_connect_error();
}
$result = mysqli_query($con,“SELECT * FROM Persons
WHERE FirstName=’Peter'”);
while($row = mysqli_fetch_array($result))
{
echo $row[‘FirstName’] . ” “ . $row[‘LastName’];
echo “<br>”;
}
– Sắp xếp đầu ra cơ sở dữ liệu MySQL
Đôi khi kết quả đầu ra bạn nhận được từ cơ sở dữ liệu cần được sắp xếp, ví dụ danh sách tên người dùng theo thứ tự bảng chữ cái.
SELECT column_name(s)
FROM table_name
ORDER BY column_name(s) ASC|DESC
Ví dụ: sử dụng mã sau:
$con=mysqli_connect(“example.com”,“peter”,“abc123”,“my_db”);
// Check connection
if (mysqli_connect_errno())
{
echo “Failed to connect to MySQL: “ . mysqli_connect_error();
}
$result = mysqli_query($con,“SELECT * FROM Persons ORDER BY age”);
while($row = mysqli_fetch_array($result))
{
echo $row[‘FirstName’];
echo ” “ . $row[‘LastName’];
echo ” “ . $row[‘Age’];
echo “<br>”;
}
mysqli_close($con);
Sắp xếp theo hai cột:
SELECT column_name(s)
FROM table_name
ORDER BY column1, column2
– Cập nhật cơ sở dữ liệu
Được sử dụng để thay đổi dữ liệu được lưu trữ trong bảng:
UPDATE table_name
SET column1=value, column2=value2,…
WHERE some_column=some_value
Thí dụ:
$con=mysqli_connect(“example.com”,“peter”,“abc123”,“my_db”);
// Check connection
if (mysqli_connect_errno())
{
echo “Failed to connect to MySQL: “ . mysqli_connect_error();
}
mysqli_query($con,“UPDATE Persons SET Age=36
WHERE FirstName=’Peter’ AND LastName=’Griffin'”);
mysqli_close($con);
– Xóa dữ liệu khỏi cơ sở dữ liệu MySQL
Được sử dụng để xóa các hàng dữ liệu khỏi bảng:
DELETE FROM table_name
WHERE some_column = some_value
Thí dụ:
$con=mysqli_connect(“example.com”,“peter”,“abc123”,“my_db”);
// Check connection
if (mysqli_connect_errno())
{
echo “Failed to connect to MySQL: “ . mysqli_connect_error();
}
mysqli_query($con,“DELETE FROM Persons WHERE LastName=’Griffin'”);
mysqli_close($con);
Nguồn https://daskhat.ir/how-to-connect-php-mysql/