Hướng dẫn giao tiếp PHP và MySQL

 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:

mysqli_close($con);

– 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.

 <?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:

<?php

$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:

<?php

$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:

<?php

$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:

<?php

 $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:

<?php

 $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:

<?php

 $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:

<?php

 $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ụ:

 <?php

 $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ụ:

<?php

$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/

Add Comment