Home PHP kết nối đến Mysql

PHP kết nối đến Mysql

by Thư viện Lập trình
Kết nối mysql với php

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

  • Phần mở rộng MySQLi (chữ “i” là viết tắt của cải tiến)
  • PDO (Đối tượng dữ liệu PHP)

Các phiên bản trước của PHP đã sử dụng phần mở rộng MySQL. Tuy nhiên, phần mở rộng này đã không được chấp nhận vào năm 2012.

Bạn nên sử dụng MySQLi hay PDO?

Câu trả lời là: “Bạn muốn dùng cái nào cũng được, tùy bạn”

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à điều này rất quan trọng đối với bảo mật ứng dụng web.

Mở một kết nối đến MySql

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

<?php
$servername = "localhost";
$username = "username_cua_db";
$password = "password_cua_db";

// Khởi tạo kết nối
$conn = new mysqli($servername, $username, $password);

// Kiểm tra kết nối
if ($conn->connect_error) {
    die("Kết nối thất bại: " . $conn->connect_error);
}
echo "Kết nối thành công";
?>

Lưu ý về ví dụ hướng đối tượng ở trên:

$connect_error đã không còn thích hợp cho đến PHP 5.2.9 và 5.3.0. Nếu bạn cần đảm bảo khả năng tương thích với các phiên bản PHP trước 5.2.9 và 5.3.0, thay vào đó hãy sử dụng mã sau:

// Kiểm tra kết nối
if (mysqli_connect_error ()) {
     die ("Kết nối cơ sở dữ liệu không thành công:". mysqli_connect_error ());
}

Ví dụ về thủ tục kết nối MySQLi

<?php
$servername = "localhost";
$username = "username_cua_ban";
$password = "password_cua_ban";

// Tạo kết nối
$conn = mysqli_connect($servername, $username, $password);

// Kiểm tra kết nối
if (!$conn) {
    die("Kết nối thất bại: " . mysqli_connect_error());
}
echo "Kết nối thành công;
?>

Ví dụ về thủ tục kết nối PDO

<?php
$servername = "localhost";
$username = "username_cua_ban";
$password = "password_cua_ban";
$databaseName = "ten_database";

try {
    $conn = new PDO("mysql:host=$servername;dbname=".$databaseName, $username, $password);
    // set the PDO error mode to exception
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    echo "Connected successfully";
    }
catch(PDOException $e)
    {
    echo "Connection failed: " . $e->getMessage();
    }
?>

Đóng kết nối

Dĩ nhiên sau khi kết nối xong bạn cần phải đóng kết nối sau khi dùng xong. Mặc dù bạn không cần làm điều này, vì kết nối sẽ được đóng tự động khi tập lệnh kết thúc. Tuy nhiên, bạn có thể đóng kết nối ngay lập tức với các lệnh sau:

MySQLi hướng đối tượng:

$conn->close();

MySQLi Procedural:

mysqli_close($conn);

PDO:

$conn = null;

Chúc các bạn thành công.

1 comment

AffiliateLabz 16 Tháng Hai, 2020 - 2:23 chiều

Great content! Super high-quality! Keep it up! 🙂

Reply

Leave a Comment