Xây dựng cơ sở dữ liệu MySQL bằng PHP

Cơ sở dữ liệu MySQL là một yếu tố cơ bản của nhiều trang web. Mặc dù bạn có thể dễ dàng tạo và chỉnh sửa các cơ sở dữ liệu này từ phần phụ trợ của trang web, nhưng việc có các kỹ năng để làm điều đó với mã trang web là vô cùng hữu ích. Nhưng làm thế nào để bạn làm điều đó?


PHP là ngôn ngữ kịch bản phía máy chủ mạnh mẽ, thực hiện mọi thao tác cơ sở dữ liệu MySQL mà bạn cần. Tìm hiểu cách sử dụng nó để xây dựng, chỉnh sửa và quản lý cơ sở dữ liệu một cách thoải mái trên trang web của bạn.


Bạn cần gì để làm việc với cơ sở dữ liệu MySQL với PHP?

Trước khi bạn có thể bắt đầu viết tập lệnh PHP của mình, bạn cần có một môi trường để chạy tập lệnh đó. EasyPHP cung cấp một máy chủ web cục bộ, quyền truy cập vào phpMyAdmin và các công cụ quản lý thư mục—mọi thứ bạn cần để bắt đầu thử nghiệm mã PHP của riêng mình.

Bạn cũng có thể tạo một trang web PHP trực tiếp cho dự án này, miễn là nó đã cài đặt phpMyAdmin.

Truy cập trang web EasyPHP và tải xuống trình cài đặt Devserver. Sau khi tải xuống, hãy chạy tệp thực thi và làm theo các bước cài đặt. Bạn có thể khởi chạy EasyPHP tại thời điểm này, nhưng hãy đợi một hoặc hai phút để hoàn tất cài đặt.

trang tải xuống easyphp

Bạn sẽ thấy biểu tượng của EasyPHP trong khay thanh tác vụ của mình; nhấp chuột phải vào nó, di chuột qua May chủvà chọn Bắt đầu/Khởi động lại tất cả các máy chủ để đảm bảo rằng máy chủ web cục bộ và cơ sở dữ liệu của bạn đều đang chạy. Nhấp chuột phải vào biểu tượng trên thanh tác vụ một lần nữa và chọn Mở bảng điều khiển.

bắt đầu máy chủ php dễ dàng

Thêm thư mục dự án của bạn vào EasyPHP

Khi EasyPHP hoàn tất cài đặt, đã đến lúc tạo một tệp trên máy tính cho các tệp PHP của bạn. Bạn có thể thêm tệp này vào bất kỳ thư mục nào bạn chọn, tuy nhiên bạn cần nhớ vị trí của nó để thêm nó vào EasyPHP.

đi đến thư mục phần và nhấp vào Thêm thư mục. Điều này sẽ đưa bạn đến một màn hình mới, nơi bạn có thể thêm một Tên thư mục làm việc (điều này có thể là bất cứ điều gì) và một Đường dẫn đến thư mục làm việc. Đường dẫn là vị trí tệp trên máy tính của bạn. Trong trường hợp của chúng tôi, đây chỉ là C:EasyPHP-MUO.

easyphp thêm thư mục làm việc mới

Bây giờ bạn có thể tạo các tệp PHP trong thư mục làm việc trên máy của mình và truy cập chúng thông qua bảng điều khiển EasyPHP bên dưới thư mục làm việc phần.

Tạo cơ sở dữ liệu với MySQL Connect

Như hiện tại, bạn chưa có cơ sở dữ liệu để làm việc. Việc thêm cơ sở dữ liệu mới bằng PHP thật dễ dàng nhưng bạn cần kết nối với máy chủ web cục bộ trước khi có thể bắt đầu. Bắt đầu bằng cách thêm một số biến cho tên máy chủ, tên người dùng máy chủ và mật khẩu máy chủ.

 $servername = "localhost";
$username = "root";
$password = "";

Biến tên máy chủ dành cho địa chỉ IP của máy chủ, nhưng bạn có thể sử dụng máy chủ cục bộ với EasyPHP hoặc bất kỳ cơ sở dữ liệu MySQL cục bộ nào khác. Tên người dùng mặc định cho EasyPHP là root và không có mật khẩu được đặt. Triển khai trực tiếp phải luôn có mật khẩu. Sau đó, đã đến lúc sử dụng PHP để kết nối với cơ sở dữ liệu bằng các biến này.

 $conn = new mysqli($servername, $username, $password);
if ($conn->connect_error) {
  die("Connection error: " . $conn->connect_error);
}

Tạo một phiên bản mysqli, chuyển cho nó tên máy chủ, tên người dùng và mật khẩu. Điều này mang lại cho tập lệnh của bạn khả năng kết nối với cơ sở dữ liệu của máy chủ web của bạn. Đảm bảo kiểm tra xem có bất kỳ lỗi kết nối nào không.

Bây giờ là lúc để chạy một truy vấn SQL. Điều này hoạt động rất giống với việc chạy truy vấn bằng công cụ như phpMyAdmin, nhưng bạn sử dụng PHP để gửi truy vấn. Bắt đầu với truy vấn CREATE DATABASE để xây dựng cơ sở dữ liệu.

 $sql = "CREATE DATABASE MUOdatabase";
if ($conn->query($sql) === TRUE) {
  echo "Database created.";
} else {
  echo "Database creation error: " . $conn->error;
}


$conn->close();

Dòng mã đầu tiên chính là truy vấn. Truy vấn CREATE DATABASE chỉ yêu cầu một tên, chẳng hạn như “MUOdatabase”. Kiểm tra kết quả truy vấn của bạn và đảm bảo rằng cơ sở dữ liệu đã được tạo. Dòng mã cuối cùng đóng kết nối cơ sở dữ liệu để giữ an toàn cho cơ sở dữ liệu MySQL của bạn.

Thêm mã này vào tệp tập lệnh PHP bên trong Working Directory mà bạn đã tạo trước đó, sau đó khởi chạy tệp từ Bảng điều khiển EasyPHP để chạy mã bạn đã viết. Bạn sẽ thấy một trang trắng có thông báo thành công hoặc lỗi.

Nếu bạn thấy thông báo thành công, hãy truy cập phpMyAdmin thông qua bảng điều khiển EasyPHP và kiểm tra xem cơ sở dữ liệu đã được tạo chưa.

phpmyadmin cơ sở dữ liệu trống mới

Tạo một bảng cơ sở dữ liệu MySQL với PHP

Cơ sở dữ liệu của bạn vẫn chưa sẵn sàng để lưu trữ dữ liệu; bạn cần một bảng để đưa dữ liệu vào. Giống như tạo cơ sở dữ liệu mới, bạn cần kết nối với máy chủ của mình để thực hiện việc này, nhưng bạn cũng cần bao gồm tên cơ sở dữ liệu của mình dưới dạng một biến. Không có điều này, các truy vấn SQL của bạn sẽ không trỏ đến đâu cả.

 $servername = "localhost";
$username = "root";
$password = "";
$databasename = "MUOdatabase";
$conn = new mysqli($servername, $username, $password, $databasename);


if ($conn->connect_error) {
  die("Connection error: " . $conn->connect_error);
}

Truy vấn SQL CREATE TABLE phức tạp hơn hầu hết. Bảng của bạn cần có tên (chúng tôi gọi là MUOtable) và bạn cần phác thảo các cột mà bảng sẽ có.

Cột đầu tiên là một giá trị số nguyên tăng tự động cung cấp cho mỗi bản ghi một chỉ số IQ duy nhất, bắt đầu từ 1 và tăng dần theo từng bản ghi mới. Bên cạnh đó, còn có ba cột varchar có thể chấp nhận các chuỗi số và chữ cái (động vật, màu sắc và quốc gia) và một cột dấu thời gian để ghi lại thời gian cập nhật lần cuối của mỗi bản ghi.

 $sql = "CREATE TABLE MUOtable (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
animal VARCHAR(30) NOT NULL,
color VARCHAR(30) NOT NULL,
country VARCHAR(50),
reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)";
if ($conn->query($sql) === TRUE) {
  echo "Table created.";
} else {
  echo "Table creation error: " . $conn->error;
}


$conn->close();

Như bạn đã làm khi tạo cơ sở dữ liệu, hãy kiểm tra xem truy vấn thành công hay thất bại. Bạn cũng nên đóng kết nối sau khi hoàn thành thao tác như thế này.

bảng trống trong phpmyadmin

Thêm mã này vào tệp script PHP trong Working Directory của bạn, lưu nó và khởi chạy nó thông qua bảng điều khiển EasyPHP để chạy truy vấn. Sau khi hoàn thành việc này, bạn sẽ thấy bảng mới được thêm vào cơ sở dữ liệu của mình trong phpMyAdmin.

Từ đây, bạn sẽ chỉ cần chỉnh sửa mã trong Phần truy vấn SQL nhận xét cho từng truy vấn bạn sẽ chạy.

Thêm dữ liệu vào bảng MySQL với PHP

Cuối cùng, đã đến lúc thêm một số dữ liệu vào bảng cơ sở dữ liệu của bạn!

 $sql = "INSERT INTO MUOtable (animal, color, country)
VALUES ('Elephant', 'Grey', 'England')";
if ($conn->query($sql) === TRUE) {
  echo "Record created.";
} else {
  echo "Record creation error: " . $conn->error;
}

bảng phpmyadmin với dữ liệu

Truy vấn INSERT INTO rất đơn giản; nó chỉ cần tên của bảng, các cột bạn muốn thêm dữ liệu vào và chính dữ liệu đó. Ví dụ này thêm Voi vào cột động vật, Xám vào cột màu và Anh vào cột Quốc gia.

Khi bạn đã chạy tập lệnh một vài lần với các dữ liệu khác nhau, bảng của bạn sẽ bắt đầu hình thành.

Chỉnh sửa và xóa dữ liệu bên trong bảng MySQL bằng PHP

Như bạn có thể thấy từ dữ liệu trong bảng của mình, đã xảy ra lỗi. Voi không sống ở Anh, vì vậy bảng cần được cập nhật với dữ liệu chính xác. Truy vấn CẬP NHẬT là cách tốt nhất để thực hiện việc này.

 $sql = "UPDATE MUOtable SET country='Botswana' WHERE id=4";
if ($conn->query($sql) === TRUE) {
  echo "Record updated.";
} else {
  echo "Record update error: " . $conn->error;
}

Truy vấn này cần tên của bảng, cột và dữ liệu mới của bảng cũng như ID của bản ghi mà bạn muốn thay đổi.

bảng cập nhật phpmyadmin

Truy vấn SQL DELETE rất giống nhau. Điều này sẽ xóa một bản ghi bảng dựa trên ID mà bạn cung cấp cho nó, ví dụ:

 $sql = "DELETE FROM MUOtable WHERE id=4"; 

Chọn dữ liệu bên trong bảng MySQL với PHP

Truy vấn CHỌN cho phép bạn lấy dữ liệu từ bảng của mình và sử dụng nó trong mã của bạn. Nó cần biết bạn muốn truy cập bảng nào, sau đó bạn có thể sử dụng vòng lặp while để hiển thị dữ liệu dưới dạng HTML.

 $sql = "SELECT id, animal, color, country FROM MUOtable";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
  while($row = $result->fetch_assoc()) {
    echo "id: " . $row["id"]. " - Animal: " . $row["animal"]. " - Color: " . $row["color"]. " - Location: " . $row["country"]. "
";
  }
} else {
  echo "No results.";
}

Làm việc với cơ sở dữ liệu MySQL và PHP

Cơ sở dữ liệu PHP và MySQL cung cấp cho các nhà phát triển web nhiều công cụ mạnh mẽ để sử dụng, nhưng vấn đề bảo mật luôn phải được quan tâm. Giữ an toàn cho các tập lệnh PHP của bạn là một thách thức và bạn nên dành thời gian tìm hiểu về bảo mật phía máy chủ trước khi triển khai mã như thế này trên một trang web đang hoạt động.

Previous Post
Next Post

post written by: