Hướng dẫn dùng sql platforms trong PHP

  • Trung Nguyen
  • 06/05/2020

    Nội dung chính

    • MySQL là gì?
    • Kết nối PHP với MySQL
    • Tôi nên sử dụng MySQLi hay PDO?
    • Cài đặt MySQLi
    • Cài đặt PDO
    • Mở một kết nối với MySQL
    • Đóng kết nối với MySQL
    • Tạo cơ sở dữ liệu MySQL
    • Tạo bảng MySQL

  • 7 min read

Với PHP, bạn có thể dễ dàng kết nối và thao tác với cơ sở dữ liệu.

MySQL là hệ thống cơ sở dữ liệu phổ biến nhất được sử dụng với PHP.

MySQL là gì?

  • MySQL là một hệ thống cơ sở dữ liệu được sử dụng trên web.
  • MySQL là một hệ thống cơ sở dữ liệu chạy trên máy chủ.
  • MySQL là lý tưởng cho cả ứng dụng nhỏ và lớn.
  • MySQL rất nhanh, đáng tin cậy và dễ sử dụng.
  • MySQL sử dụng SQL chuẩn.
  • MySQL là đa nền tảng
  • MySQL là miễn phí để tải về và sử dụng.
  • MySQL được phát triển, phân phối và hỗ trợ bởi tập đoàn Oracle.
  • MySQL được đặt theo tên con gái của người đồng sáng lập Monty Widenius: My.

Dữ liệu trong cơ sở dữ liệu MySQL được lưu trữ trong các bảng. Bảng là tập hợp các dữ liệu liên quan và nó bao gồm các cột và hàng.

Cơ sở dữ liệu rất hữu ích để lưu trữ thông tin theo loại. Ví dụ: một cửa hàng có thể có một cơ sở dữ liệu với các bảng sau:

  • Employees
  • Products
  • Categories
  • Customers
  • Orders
  • OrderItems
  • ...

Kết nối PHP với MySQL

PHP 5 trở lên có thể thao tác với cơ sở dữ liệu MySQL bằng cách sử dụng:

  • Phần mở rộng của MySQLi [chữ "i" là viết tắt của improved - cải tiến]
  • PDO [PHP Data Objects - Đối tượng dữ liệu PHP]
Lưu ý: Các phiên bản trước đây của PHP sử dụng phần mở rộng MySQL để thao tác với cơ sở dữ liệu MySQL. Tuy nhiên, phần mở rộng MySQL này đã lỗi thời từ năm 2012.

Tôi nên sử dụng MySQLi hay PDO?

Nếu bạn cần một câu trả lời ngắn, đó sẽ là "làm bất cứ điều gì bạn thích".

Cả MySQLi và PDO đều có những ưu điểm của chúng:

PDO sẽ hoạt động trên 12 hệ thống cơ sở dữ liệu khác nhau, trong khi MySQLi sẽ chỉ hoạt động với cơ sở dữ liệu MySQL.

Vì vậy, nếu bạn phải chuyển dự án của mình sang sử dụng cơ sở dữ liệu khác, PDO sẽ giúp quá trình này trở nên dễ dàng. Bạn chỉ phải thay đổi chuỗi kết nối và một vài truy vấn. Với MySQLi, bạn sẽ cần viết lại toàn bộ mã - bao gồm các truy vấn.

Cả hai đều hướng đối tượng, nhưng MySQLi cũng cung cấp API thủ tục.

Cả hai đều hỗ trợ Prepared Statements. Prepared Statements bảo vệ khỏi SQL injection và rất quan trọng đối với bảo mật ứng dụng web.

Cài đặt MySQLi

Đối với Linux và Windows: Phần mở rộng MySQLi được cài đặt tự động trong hầu hết các trường hợp, khi gói php5 mysql được cài đặt.

Để biết chi tiết cài đặt, hãy truy cập: //php.net/manual/en/mysqli.installation.php

Cài đặt PDO

Để biết chi tiết cài đặt, hãy truy cập: //php.net/manual/en/pdo.installation.php

Mở một kết nối với MySQL

Trước khi chúng tôi có thể truy cập dữ liệu trong cơ sở dữ liệu MySQL, chúng tôi cần có khả năng kết nối với máy chủ:

MySQLi hướng đối tượng
MySQLi thủ tục
PDO
Lưu ý: Trong ví dụ PDO ở trên, chúng tôi đã chỉ định tên cơ sở dữ liệu là myDB. PDO yêu cầu cơ sở dữ liệu hợp lệ để kết nối. Nếu không có cơ sở dữ liệu được chỉ định, một ngoại lệ được đưa ra.
Tip: Một lợi ích lớn của PDO là nó có một lớp ngoại lệ để xử lý bất kỳ vấn đề nào có thể xảy ra trong các truy vấn cơ sở dữ liệu của chúng tôi. Nếu một ngoại lệ được ném trong khối try {}, tập lệnh dừng thực thi và nhảy vào khối catch[] {} đầu tiên.

Đóng kết nối với MySQL

Kết nối sẽ được đóng tự động khi tập lệnh kết thúc. Để đóng kết nối trước hãy sử dụng` lệnh sau:

$conn->close[];
MySQLi hướng đối tượng
mysqli_close[$conn];
MySQLi thủ tục
$conn = null;
PDO

Tạo cơ sở dữ liệu MySQL

Một cơ sở dữ liệu có nhiều bảng. Bạn sẽ cần được cấp quyền CREATE đặc biệt để tạo hoặc xóa cơ sở dữ liệu MySQL.

Câu lệnh CREATE DATABASE được sử dụng để tạo cơ sở dữ liệu trong MySQL.

MySQLi hướng đối tượng
Lưu ý: Khi bạn tạo cơ sở dữ liệu mới, bạn chỉ phải chỉ định ba đối số đầu tiên cho đối tượng mysqli [servername, username, password].
Tip: Nếu bạn phải sử dụng một cổng cụ thể, hãy thêm một chuỗi trống cho đối số tên cơ sở dữ liệu [database name], như sau: new mysqli["localhost", "username", "password", "", port]
MySQLi thủ tục
PDO

Tạo bảng MySQL

Một bảng cơ sở dữ liệu có tên duy nhất và các cột. Câu lệnh CREATE TABLE được sử dụng để tạo bảng trong MySQL.

Chúng tôi sẽ tạo một bảng có tên "MyGuests", với năm cột: "id", "firstname", "lastname", "email" và "reg_date" như sau:

CREATE TABLE MyGuests [
id INT[6] UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR[30] NOT NULL,
lastname VARCHAR[30] NOT NULL,
email VARCHAR[50],
reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
]

Kiểu dữ liệu xác định loại dữ liệu mà cột có thể lưu trữ. Sau kiểu dữ liệu, bạn có thể chỉ định các thuộc tính tùy chọn khác cho mỗi cột:

  • NOT NULL - Không cho phép truyền giá trị NULL cho cột này.
  • DEFAULT VALUE - Sử dụng giá trị mặc định khi không có giá trị nào khác được truyền vào cho cột.
  • UNSIGNED - Bắt buộc các số truyền vào cho cột phải lớn hơn hoặc bằng 0.
  • AUTO INCREMENT - MySQL tự động tăng giá trị của trường thêm 1 mỗi lần thêm bản ghi mới.
  • PRIMARY KEY - Cột là khóa chính.

Mỗi bảng nên có một cột khóa chính [trong trường hợp này là cột "id"]. Giá trị của nó phải là duy nhất cho mỗi bản ghi trong bảng.

Các ví dụ sau đây minh họa cách tạo bảng trong PHP:

MySQLi hướng đối tượng
MySQLi thủ tục
PDO

Nếu Comdy hữu ích và giúp bạn tiết kiệm thời gian

Bạn có thể vui lòng tắt trình chặn quảng cáo ❤️ để hỗ trợ chúng tôi duy trì hoạt động của trang web.

Lập Trình PHP

Chủ Đề