Cách sử dụng mysql trong php

Để truy cập và thêm nội dung vào cơ sở dữ liệu MySQL, trước tiên bạn phải thiết lập kết nối giữa cơ sở dữ liệu và tập lệnh PHP

Trong hướng dẫn này, hãy tìm hiểu cách sử dụng Tiện ích mở rộng MySQLi và Đối tượng dữ liệu PHP để kết nối với MySQL. Các hàm mysql_ kế thừa truyền thống không được dùng nữa và chúng tôi sẽ không đề cập đến chúng trong hướng dẫn này

header image how to connect to mysql using php

điều kiện tiên quyết

  • Đặc quyền CREATE đặc biệt
  • Cơ sở dữ liệu MySQL
  • Tiện ích mở rộng MySQLi hoặc PDO

2 cách để kết nối với cơ sở dữ liệu MySQL bằng PHP

Có hai cách phổ biến để kết nối với cơ sở dữ liệu MySQL bằng PHP

  1. Với phần mở rộng MySQLi của PHP
  2. Với đối tượng dữ liệu PHP (PDO)

Hướng dẫn này cũng bao gồm các giải thích về thông tin đăng nhập được sử dụng trong tập lệnh PHP và các lỗi tiềm ẩn mà bạn có thể gặp phải khi sử dụng MySQLi và PDO

lựa chọn 1. Kết nối với MySQL với tiện ích mở rộng được cải thiện của MySQL

MySQLi là một phần mở rộng chỉ hỗ trợ cơ sở dữ liệu MySQL. Nó cho phép truy cập vào các chức năng mới được tìm thấy trong các hệ thống MySQL (phiên bản 4. 1. trở lên), cung cấp cả giao diện thủ tục và hướng đối tượng. Nó hỗ trợ các câu lệnh chuẩn bị phía máy chủ, nhưng không hỗ trợ các câu lệnh chuẩn bị phía máy khách

Tiện ích mở rộng MySQLi được bao gồm phiên bản PHP 5 trở lên

Tập lệnh PHP để kết nối với cơ sở dữ liệu MySQL bằng cách sử dụng phương pháp thủ tục MySQLi như sau

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

echo “Connected successfully”;

mysqli_close($conn);

?>

Giải thích thông tin xác thực

Phần đầu tiên của tập lệnh là bốn biến (tên máy chủ, cơ sở dữ liệu, tên người dùng và mật khẩu) và các giá trị tương ứng của chúng. Các giá trị này phải tương ứng với chi tiết kết nối của bạn

examples of database variables

Tiếp theo là hàm PHP chính mysqli_connect(). Nó thiết lập kết nối với cơ sở dữ liệu được chỉ định

Configuration file with the main php function to connect to MySQL.

Sau đây là một “câu lệnh if. ” Đây là một phần của mã cho biết kết nối đã được thiết lập hay chưa. Khi kết nối không thành công, nó đưa ra thông báo Kết nối không thành công. Hàm chết in thông báo rồi thoát ra khỏi tập lệnh

example of connection failed die function

Nếu kết nối thành công, nó sẽ hiển thị “Đã kết nối thành công. ”

Khi tập lệnh kết thúc, kết nối với cơ sở dữ liệu cũng đóng lại. Nếu bạn muốn kết thúc mã thủ công, hãy sử dụng hàm mysqli_close

message for script ended and connection to database closed

Lựa chọn 2. Kết nối với MySQL bằng PDO

Đối tượng dữ liệu PHP (PDO) là một tiện ích mở rộng đóng vai trò là giao diện để kết nối với cơ sở dữ liệu. Không giống như MySQLi, nó có thể thực hiện bất kỳ chức năng cơ sở dữ liệu nào và không giới hạn đối với MySQL. Nó cho phép linh hoạt giữa các cơ sở dữ liệu và tổng quát hơn MySQL. PDO hỗ trợ cả câu lệnh chuẩn bị phía máy chủ và phía máy khách

Ghi chú. PDO sẽ không chạy trên các phiên bản PHP cũ hơn 5. 0 và được bao gồm trong PHP 5. 1

Mã PHP để kết nối với cơ sở dữ liệu MySQL thông qua phần mở rộng PDO là

setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

echo “Connection Okay”;

return $pdo

}

catch (PDOException $e)

{
echo “Connection failed: ”. $e->getMessage();
}

?>

Cú pháp thông tin xác thực

Đầu tiên, chúng tôi có năm biến (tên máy chủ, cơ sở dữ liệu, tên người dùng, mật khẩu và bộ ký tự) và các giá trị của chúng. Các giá trị này phải tương ứng với chi tiết kết nối của bạn

Tên máy chủ sẽ là localhost. Nếu được kết nối với máy chủ trực tuyến, hãy nhập tên máy chủ của máy chủ đó

Bộ ký tự biến cho cơ sở dữ liệu mã hóa mà nó sẽ nhận và gửi dữ liệu. Tiêu chuẩn được khuyến nghị là utf8mb4

example for database syntax variables server name, database, username, password, and charset

Thử và bắt các khối

Tài sản tuyệt vời của PDO là nó có một lớp ngoại lệ để giải quyết mọi vấn đề tiềm ẩn trong các truy vấn cơ sở dữ liệu. Nó giải quyết những vấn đề này bằng cách kết hợp các khối thử và bắt

Nếu xảy ra sự cố trong khi cố gắng kết nối, nó sẽ ngừng chạy và cố gắng nắm bắt cũng như giải quyết sự cố. Khối bắt có thể được đặt để hiển thị thông báo lỗi hoặc chạy mã thay thế

example of error message for catch blocks

Tham số đầu tiên trong khối thử và bắt là DSN, viết tắt của tên nguồn dữ liệu (cơ sở). Nó rất quan trọng vì nó xác định loại và tên của cơ sở dữ liệu, cùng với bất kỳ thông tin bổ sung nào khác

Trong ví dụ này, chúng tôi đang sử dụng cơ sở dữ liệu MySQL. Tuy nhiên, PDO hỗ trợ nhiều loại cơ sở dữ liệu khác nhau. Nếu bạn có một cơ sở dữ liệu khác, hãy thay thế phần cú pháp đó (mysql) bằng cơ sở dữ liệu bạn đang sử dụng

example of mysql host connecting

Tiếp theo là biến PDO. Biến này sẽ thiết lập kết nối với cơ sở dữ liệu. Nó có ba tham số

  1. Tên nguồn dữ liệu (dsn)
  2. Tên người dùng cho cơ sở dữ liệu của bạn
  3. Mật khẩu cho cơ sở dữ liệu của bạn

Sau đây là phương thức setAttribute thêm hai tham số vào PDO

  1. PDO. ATTR_ERRMODE
  2. PDO. ERRMODE_EXCEPTION

Phương pháp này hướng dẫn PDO chạy một ngoại lệ trong trường hợp truy vấn không thành công

example of pdo running an exception

Thêm tiếng vang “Connection Okay. ” để xác nhận kết nối được thiết lập

Trả về biến PDO để kết nối với cơ sở dữ liệu

example of pdo variable for database connection

Sau khi trả về biến PDO, hãy xác định PDOException trong khối catch bằng cách hướng dẫn nó hiển thị thông báo khi kết nối không thành công

example of displaying a message when connection fails

Lỗi tiềm ẩn với MySQLi và PDO

Mật khẩu không đúng

Mật khẩu trong mã PHP cần tương ứng với mật khẩu trong cơ sở dữ liệu. Nếu cả hai không khớp, không thể thiết lập kết nối với cơ sở dữ liệu. Bạn sẽ nhận được thông báo lỗi cho biết kết nối không thành công

Phương pháp khả thi

  1. Kiểm tra chi tiết cơ sở dữ liệu để đảm bảo mật khẩu là chính xác
  2. Đảm bảo có một người dùng được gán cho cơ sở dữ liệu

Không thể kết nối với máy chủ MySQL

PHP có thể không kết nối được với máy chủ MySQL nếu tên máy chủ không được nhận dạng. Đảm bảo rằng tên máy chủ được đặt thành localhost

Trong trường hợp có các lỗi khác, hãy đảm bảo tham khảo tệp error_log để được trợ giúp khi cố gắng giải quyết mọi sự cố. Tệp nằm trong cùng thư mục nơi tập lệnh đang chạy

Sự kết luận

Hướng dẫn này nêu chi tiết hai cách để kết nối với cơ sở dữ liệu MySQL bằng PHP

Cả MySQLi và PDO đều có ưu điểm của chúng. Tuy nhiên, hãy nhớ rằng MySQLi chỉ được sử dụng cho cơ sở dữ liệu MySQL. Do đó, nếu bạn muốn thay đổi sang cơ sở dữ liệu khác, bạn sẽ phải viết lại toàn bộ mã. Mặt khác, PDO hoạt động với 12 cơ sở dữ liệu khác nhau, giúp việc di chuyển dễ dàng hơn nhiều

Làm thế nào sử dụng PHP với cơ sở dữ liệu MySQL với ví dụ?

PHP Tạo cơ sở dữ liệu MySQL .
Ví dụ (Hướng đối tượng MySQLi)
Ví dụ (Thủ tục MySQLi)
Ví dụ (PDO)

Tôi có thể chạy PHP trong MySQL không?

Với PHP, bạn có thể 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 .

Tôi có thể sử dụng PHP để kết nối với cơ sở dữ liệu MySQL không?

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 ("i" là viết tắt của cải tiến) PDO (Đối tượng dữ liệu PHP)

SQL được sử dụng như thế nào trong PHP?

PHP là ngôn ngữ kịch bản phổ biến nhất để phát triển web. Nó miễn phí, mã nguồn mở và phía máy chủ (mã được thực thi trên máy chủ). MySQL là Hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS) sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL). Nó cũng miễn phí và mã nguồn mở