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 phải viết lại toàn bộ mã - bao gồm cả truy vấn Show
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ợ Báo cáo đã chuẩn bị. Các câu lệnh đã chuẩn bị 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ác ví dụ về MySQL trong cả Cú pháp MySQLi và PDOTrong phần này và trong các chương tiếp theo, chúng tôi trình bày ba cách làm việc với PHP và MySQL
Cài đặt MySQLiĐối với Linux và Windows. Tiện ích mở rộng MySQLi được cài đặt tự động trong hầu hết các trường hợp, khi gói mysql php5 được cài đặt Để biết chi tiết cài đặt, hãy truy cập. http. //php. mạng/thủ công/en/mysqli. cài đặt. php Cài đặt PDOĐể biết chi tiết cài đặt, hãy truy cập. http. //php. net/manual/en/pdo. cài đặt. php Mở kết nối tới MySQLTrướ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ó thể kết nối với máy chủ Ví dụ (Hướng đối tượng MySQLi)$servername = "localhost"; // Tạo kết nối // Kiểm tra kết nối Lưu ý về ví dụ hướng đối tượng ở trên $connect_error đã bị hỏng cho đến khi 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, hãy sử dụng đoạn mã sau để thay thế // Kiểm tra kết nối Ví dụ (Thủ tục MySQLi)$servername = "localhost"; // Tạo kết nối // Kiểm tra kết nối Ví dụ (PDO)$servername = "localhost"; thử { Ghi chú. Trong ví dụ PDO ở trên, chúng tôi cũng đã chỉ định một cơ sở dữ liệu (myDB). PDO yêu cầu cơ sở dữ liệu hợp lệ để kết nối với. Nếu không có cơ sở dữ liệu nào được chỉ định, một ngoại lệ sẽ được đưa ra Mẹo. 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ỳ sự cố 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 đưa ra trong khối try{ }, tập lệnh sẽ ngừng thực thi và chuyển trực tiếp đến khối catch(){ } đầu tiên Đóng kết nốiKết nối sẽ tự động đóng khi tập lệnh kết thúc. Để đóng kết nối trước, hãy sử dụng như sau Để truy cập và bổ sung nội dung vào cơ sở dữ liệu MySQL, trước tiên bạn phải kết nối MySQL với PHP. Trong hướng dẫn này, hãy tìm hiểu cách sử dụng MySQLi Extension và PHP Data Objects để kết nối với MySQL. Hệ thống truyền thông hàm mysql_ không được sử dụng nữa và chúng tôi sẽ không đề cập đến chúng trong hướng dẫn này Hướng dẫn kết nối MySQL với PHP bằng 2 cáchĐiều kiện cần có
Nội dung 2 cách kết nối MySQL với PHPCó hai cách phổ biến để kết nối MySQL với PHP
Hướng dẫn này cũng bao gồm các giải thích về thông tin xác thực được sử dụng trong tập lệnh PHP và các ẩn lừa đảo mà bạn có thể gặp khi sử dụng MySQLi và PDO Connect MySQL with PHP by MySQLi ExtensionMySQLi 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 có trong 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 phía máy chủ, nhưng không hỗ trợ từ phía máy khách Tiện ích mở rộng MySQLi được bao gồm cả phiên bản PHP 5 và các phiên bản mới hơn Tập lệnh PHP để kết nối với cơ sở dữ liệu MySQL bằng cách tiếp cận MySQLi as after
Giải thích về 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 4 variable of scriptTiếp theo là hàm chính của PHP mysqli_connect(). Nó thiết lập một kết nối với cơ sở dữ liệu được chỉ định Hàm mysql_connectSau đây là câu lệnh “nếu”. Đây là một phần của mã cho biết kết nối dữ liệu đã được thiết lập hay chưa. Khi kết nối không thành công, nó sẽ đưa ra thông báo Kết nối thất bại. Hàm chết sẽ có trong thông báo và sau đó thoát khỏi tập lệnh Command if and command dieNếu kết nối thành công, nó sẽ hiển thị “Đã kết nối thành công. ” Thông báo kết nối thành côngKhi tập lệnh kết thúc, kết nối với cơ sở dữ liệu cũng đóng. Nếu bạn muốn kết thúc mã theo cách thủ công, hãy sử dụng hàm mysqli_close Use mysqli_close to end connectionMySQL connection with PHP by PDOĐối tượng dữ liệu PHP (PDO) là một phần mở rộng như một 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ỳ cơ sở dữ liệu chức năng nào và không giới hạn ở MySQL. Nó cho phép sự linh hoạt giữa các cơ sở dữ liệu và tổng quan hơn MySQL. PDO hỗ trợ các câu lệnh từ phía máy chủ và cả máy khách
MySQL connection with PHP information through PDO as after
Cú pháp xác thực thông tinĐầu tiên, chúng ta 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à 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ột máy chủ trực tuyến, hãy nhập tên máy chủ đó vào tên máy chủ Biến “bộ ký tự” cho cơ sở dữ liệu biết mã hóa mà nó sẽ nhận và gửi dữ liệu. Tiêu chuẩn xuất đề là utf8mb4 Add variable charsetThử và BắtTài sản lớn nhất của PDO là có một lớp ngoại lệ để xử lý mọi vấn đề thời gian ẩn trong cơ sở dữ liệu truy vấn. Nó giải quyết những vấn đề này bằng cách thử và nắm bắt Nếu sự cố phát sinh trong khi cố gắng kết nối, nó sẽ tiếp tục chạy và cố gắng bắt và giải quyết sự cố. The block try can be set to show an error error or run code instead Giải quyết vấn đề tìm ẩn bằng cách thử và bắtTham số đầu tiên trong khối try và catch là DSN, viết tắt của Data(base) Source Name. 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 phần cú pháp đó (mysql) bằng cơ sở dữ liệu bạn đang sử dụng Thay thế mysql bằng cơ sở dữ liệu bạn đang sử dụngTiế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. It has ba tham số
Sau đây là phương thức setAttribute thêm hai tham số vào PDO
Phương pháp này hướng dẫn PDO chạy trong trường hợp truy vấn không thành công setAttribute run in query failedAdd echo “Connection Okay. ” để xác nhận kết nối đã được thiết lập Specify connection is settingTrả về biến PDO để được kết nối với cơ sở dữ liệu Return to PDO variableSau khi trả về biến PDO, hãy xác định PDOException trong block catch bằng cách hướng nó hiển thị thông báo kết nối không thành công Hướng đó hiển thị thông báo “Kết nối không thành công”Chương trình ưu đãi cuối năm tại Vietnix Các lỗi tiềm ẩn khi kết nối MySQL với PHP bằng MySQLi và PDOMật khẩu saiMật khẩu trong mã PHP cần phải khớp với mật khẩu trong cơ sở dữ liệu. If all two does not match, could not be set up connection with database. You will got got a error message for known connection failed Phương pháp khả thi
Cannot connect MySQL ServerPHP could not be connect to be with MySQL server if name server not got a format. Bảo đảm rằng tên máy chủ được đặt thành localhost Trong trường hợp xảy ra lỗi khác, hãy nhớ thêm tệp “error_log” để hỗ trợ khi cố gắng giải quyết bất kỳ sự cố nào. Tệp nằm trong cùng một thư mục nơi tập lệnh đang chạy Tổng kếtHướng dẫn trình bày chi tiết cách kết nối MySQL với PHP bằng hai công cụ đó là MySQLi và PDO để giúp bạn có thể hiểu rõ hơn về chúng Cả MySQLi và PDO đều có điểm mạnh của chúng. Tuy nhiên, hãy nhớ rằng MySQLi chỉ 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 Hy vọng bài viết này sẽ giúp ích cho bạn. Chúc bạn may mắn. Đừng quên theo dõi Vietnix để cập nhật kiến thức và tài liệu bổ sung khác Chia sẻ bài viết đánh giá 5/5 - (1 bình chọn) nguyễn hưng Conconnection with mình qua Mình là Bo - admin của Quản Trị Linux. Mình đã có 10 năm làm việc trong mảng System, Network, Security và đã trải nghiệm qua các chứng chỉ như CCNP, CISSP, CISA, đặc biệt là chống tấn công DDoS. Gần đây mình trải nghiệm thêm Digital Marketing và đã hoàn thành chứng chỉ CDMP của PearsonVUE. Mình rất thích được chia sẻ và hỗ trợ cho mọi người, nhất là các bạn sinh viên. Please connect with mình nhé |