Hướng dẫn php test mysql connection - php kiểm tra kết nối mysql

Th6 09, 2022

Hai G.

6ít nhất Đọc

Hướng dẫn php test mysql connection - php kiểm tra kết nối mysql

Nếu bạn là người mới trong giai đoạn lập trình viên, việc biết cách kết nối PHP với MySQL database rất hữu ích.  Bạn có thể tùy chỉnh, xem, hoặc quản lý bảng được tạo trong MySQL database. Bài này sẽ chỉ bạn cách dễ nhất để thực hiện việc này.

  • Tạo MySQL Database
  • Viết code để kết nối PHP với MySQL database
  • Kiểm tra kết nối PHP với MySQL có thành công không
  • Lời kết

Tạo MySQL Database

Viết code để kết nối PHP với MySQL database MySQL Databases như các bước bên dưới:

  • Kiểm tra kết nối PHP với MySQL có thành công khôngMySQL Databases trong phần Databases.
  • Lời kếtCreate.
    Hướng dẫn php test mysql connection - php kiểm tra kết nối mysql

Bước này cần thiết trong trường hợp nếu bạn chưa có MySQL database. Tại Hostinger, MySQL database có thể được tạo dễ dàng tạo trong phần MySQL Databases như các bước bên dưới:

Tìm MySQL Databases trong phần Databases.MySQL database bạn mới tạo để dùng cho bước tiếp theo. Đừng quên lưu cả thông tin database username và username password nữa nhé bạn!.

Điền thông tin cần thiết và nhấn nút Create.

Đối với cPanel, các bước tạo database cũng tương tự.MySQLi PDO.

Hãy lưu lại các thông tin về MySQL database bạn mới tạo để dùng cho bước tiếp theo. Đừng quên lưu cả thông tin database username và username password nữa nhé bạn!.viết tắt của MySQL Improved, nó thêm tính năng trong giao diện của MySQL database. MySQLi có tính procedural và object-oriented, yếu tố đầu tiên để dùng cho phiên bản cũ hơn của MySQL.

Viết code để kết nối PHP với MySQL database

Hiện tại có 2 phương thức để kết nối tới cơ sở dữ liệu MySQL là MySQLi và PDO.mysql_ đã bị deprecated (lỗi thời) và không nên được dùng nữa vì thiếu an toàn và không còn được phát triển hay bảo trì nữa.

MySQLi viết tắt của MySQL Improved, nó thêm tính năng trong giao diện của MySQL database. MySQLi có tính procedural và object-oriented, yếu tố đầu tiên để dùng cho phiên bản cũ hơn của MySQL.viết tắt của cụm PHP Data Object. Khác biệt chính giữa PDO và MySQLi là PDO hỗ trợ nhiều loại database khác nhau (MySQL, MS SQL, Postgre DB) trong cùng một script, bạn chỉ cần viết các hàm liên quan đến dữ liệu một lần. PDO là ‘object oriented’ (hướng đối tượng), kết nối giữa website và database được tạo bởi các biến đối tượng.

MySQL gốc chia tác vụ theo tuyến tính, từng bước một, khiến việc điều chỉnh khó khắn vì bạn phải sửa code từ trên cùng. Trong khi đó, MySQLi xem dữ liệu như là một bộ các đối tượng với functions, cho phép user thêm hoặc xóa dữ liệu dễ dàng.prepared statements’, giúp tăng cường khả năng chống SQL injection khi kết nối mysql với php để chỉnh sửa thông tin.

Hàm mysql_ đã bị deprecated (lỗi thời) và không nên được dùng nữa vì thiếu an toàn và không còn được phát triển hay bảo trì nữa. server name hoặc hostname. Ở Hostinger, MySQL hostname cũng đặt trong mục MySQL Databases. Trong ví dụ này, hostname sẽ là: localhost. Thông thường đây là tên bạn dùng khi upload PHP script lên cùng server với database.

PDO viết tắt của cụm PHP Data Object. Khác biệt chính giữa PDO và MySQLi là PDO hỗ trợ nhiều loại database khác nhau (MySQL, MS SQL, Postgre DB) trong cùng một script, bạn chỉ cần viết các hàm liên quan đến dữ liệu một lần. PDO là ‘object oriented’ (hướng đối tượng), kết nối giữa website và database được tạo bởi các biến đối tượng.địa chỉ IP của MySQL server đó.  Để biết thêm thông tin, bạn có thể cần liên hệ với nhà cung cấp, và đừng quên chọn hosting tốt nhất có hỗ trợ kỹ thuật, để họ đưa bạn chính xác thông tin hostname cần điền là gì.

Một thay đổi quan trọng là cả 2 phương pháp đều đã hỗ trợ ‘prepared statements’, giúp tăng cường khả năng chống SQL injection khi kết nối mysql với php để chỉnh sửa thông tin.

Bạn cũng cần phải điền đúng server name hoặc hostname. Ở Hostinger, MySQL hostname cũng đặt trong mục MySQL Databases. Trong ví dụ này, hostname sẽ là: localhost. Thông thường đây là tên bạn dùng khi upload PHP script lên cùng server với database.

  1. Ngược lại, nếu bạn kết nối tới database từ một máy từ xa (máy của bạn chẳng hạn) bạn sẽ cần dùng địa chỉ IP của MySQL server đó.  Để biết thêm thông tin, bạn có thể cần liên hệ với nhà cung cấp, và đừng quên chọn hosting tốt nhất có hỗ trợ kỹ thuật, để họ đưa bạn chính xác thông tin hostname cần điền là gì.File Manager -> public_html
  2. Sử dụng MySQLi để kết nối script PHP tới MySQLFile mới bằng cách click icon file trên thanh menu
  3. Làm theo các bước sau để dùng MySQLi kết nối PHP script và MySQL:databaseconnect.php. Bạn có thể thay thế tên này tùy ý nhưng nhớ đuôi file phải là php
  4. Chuyển tới File Manager -> public_html với thông tin bạn có ở bước trước.

Tạo File mới bằng cách click icon file trên thanh menu

Lưu nó thành tên databaseconnect.php. Bạn có thể thay thế tên này tùy ý nhưng nhớ đuôi file phải là phpmysqli_connect(). Đây là hàm PHP dùng để thực thi kết nối tới một MySQL server.

Nhấn double click vào nó để mở lên và dán đoạn code sau vào. Thay thế 4 giá trị sau $servername, $database, $username và $password. Trong code này, chúng tôi đã đặt thông tin database chính xác cho những biến này, để sau khi dùng hàm mysqli_connect() nó sẽ dùng các giá trị nhập vào.

Giải thích code MySQLi dùng để nối MySQL databasedie() được thực thi. Nó sẽ hủy script và cho kết quả lỗi mà ta đặt ra. Mặc định nó sẽ hiện Connection failed và kèm theo một thông báo lỗi để ta biết lỗi do đâu.

Phương pháp chính của script này là hàm mysqli_connect(). Đây là hàm PHP dùng để thực thi kết nối tới một MySQL server.Connected successfully sẽ được thực thi.

Ở đầu code, chúng ta thấy có các biến khai báo và giá trị được cấp cho chúng. Thông thường, chúng ta cần bốn biến để thiết lập kết nối cơ sở dữ liệu trong php code: $servername, $database, $username và $password. Trong code này, chúng tôi đã đặt thông tin database chính xác cho những biến này, để sau khi dùng hàm mysqli_connect() nó sẽ dùng các giá trị nhập vào.mysqli_close, chỉ đơn giản dùng để đóng kết nối giữa PHP script và database thủ công. Nếu không chỉ định, kết nối MySQL sẽ tự đóng sau khi script kết thúc.

Nếu kết nối thất bạn, function die() được thực thi. Nó sẽ hủy script và cho kết quả lỗi mà ta đặt ra. Mặc định nó sẽ hiện Connection failed và kèm theo một thông báo lỗi để ta biết lỗi do đâu.

Nếu kết nối thành công, phần code sau in ra Connected successfully sẽ được thực thi.

  1. Dòng cuối cùng của lệnh mysqli_close, chỉ đơn giản dùng để đóng kết nối giữa PHP script và database thủ công. Nếu không chỉ định, kết nối MySQL sẽ tự đóng sau khi script kết thúc.public_html, tạo một file có tên pdoconfig.php và nhập code sau vào. Đừng quên thay đổi những thông tin database. Save and Close sau khi hoàn tất.
  2. Dùng PDO để kết nối PHP với MySQL databasedatabaseconnect.php trong cùng thư mục nhưng dán code sau vào. Nếu bạn đặt tên file trước khác, hãy đảm bảo bạn đổi giá trị tương ứng trong require_once.
    getMessage());
    }

Giải thích về code PDO

Một kết nối PDO database cần tạo ‘PDO object’ với Data Source Name (DSN), username và password.Data Source Name (DSN), usernamepassword.

DSN định nghĩa loại database của bạn, tên database, và bất kỳ thông tin nào cần thiết khác. Đây là những biến và giá trị chúng ta đặt trong dbconfig.php file, được sử dụng một lần bằng code require_once trong databaseconnect.php.dbconfig.php file, được sử dụng một lần bằng code require_once trong databaseconnect.php.

Khi tạo PDO object dùng cho database connection, bạn sẽ thấy mã code ‘try…catch…’ . Có nghĩa là script này sẽ thử kết nối tới MySQL. Nếu có vấn đề, code trong phần ‘catch’ sẽ chạy. Bạn có thể dùng catch block để hiển thị mã báo lỗi hoặc chay code khác nếu quá trình thử thất bại.try…catch…’ . Có nghĩa là script này sẽ thử kết nối tới MySQL. Nếu có vấn đề, code trong phần ‘catch’ sẽ chạy. Bạn có thể dùng catch block để hiển thị mã báo lỗi hoặc chay code khác nếu quá trình thử thất bại.

Nếu kết nối thành công, nó sẽ in ra tin “Connected to $dbname at $host successfully.” Tuy nhiên, nếu thử kết nối giữa PHP tới MySQL thất bại, catch code sẽ hiển thị lỗi kết nối đơn giản và ngừng script.Connected to $dbname at $host successfully.” Tuy nhiên, nếu thử kết nối giữa PHP tới MySQL thất bại, catch code sẽ hiển thị lỗi kết nối đơn giản và ngừng script.

Kiểm tra kết nối PHP với MySQL có thành công không

Để kiểm tra kết nối có thành công không, truy cập vào tên miền dạng: yourdomain/databaseconnect.php. Nếu tên file PHP của bạn khác, hãy thay đổi nó cho phù hợp.yourdomain/databaseconnect.php. Nếu tên file PHP của bạn khác, hãy thay đổi nó cho phù hợp.

Bạn sẽ kết quả là “Connectedsuccessfully” hoặc biến thể của thông báo này nếu không gặp lỗi.Connected successfully” hoặc biến thể của thông báo này nếu không gặp lỗi.

Giờ nếu kết nối PHP với MySQL không thành công, bạn sẽ thấy thông báo lỗi hơi khác giữa MySQLi và PDO.

Sai mật khẩu

Lỗi này xảy ra khi mật khẩu hoặc bất kỳ thông tin đăng nhập nào trong PHP code bị sai.

Nếu bạn thấy lỗi “Access denied” hoặc “Could not connect to database” với “(using password: YES)” ở cuối, điều đầu tiên bạn cần làm là kiểm tra thông tin database. Có thể có lỗi đánh máy hoặc thiếu gì đó.Access denied” hoặc “Could not connect to database” với “(using password: YES)” ở cuối, điều đầu tiên bạn cần làm là kiểm tra thông tin database. Có thể có lỗi đánh máy hoặc thiếu gì đó.

Không thể kết nối tới MySQL Server

Nếu bạn gặp lỗi “Can’t connect to MySQL server on ‘server’ (110)” trong MySQLi, có nghĩa là script này không nhận được phản hồi từ server. Điều này xảy ra khi bạn đặt “server” thay vì “localhost” trong $servername, và tên này không khớp với thông tin server.Can’t connect to MySQL server on ‘server’ (110)” trong MySQLi, có nghĩa là script này không nhận được phản hồi từ server. Điều này xảy ra khi bạn đặt “server” thay vì “localhost” trong $servername, và tên này không khớp với thông tin server.

Mã lỗi trong PDO sẽ là “Connection failed: SQLSTATE[Hy000] [2002]” kèm theo thông tin rằng không tìm thấy My SQL. Cách sửa lỗi kết nối PHP với MySQL cũng tương tự như trên.Connection failed: SQLSTATE[Hy000] [2002]” kèm theo thông tin rằng không tìm thấy My SQL. Cách sửa lỗi kết nối PHP với MySQL cũng tương tự như trên.

Dĩ nhiên, hãy luôn chú ý quy tắc vàng để sửa lỗi: luôn kiểm tra nhật ký lỗi của website.

Log (nhật ký lỗi) có thể đặt trong cùng thư mục nơi script chạy. Ví dụ, nếu bạn đang chạy script trong public_html, bạn sẽ thấy error_log trong cùng thư mụcpublic_html, bạn sẽ thấy error_log trong cùng thư mục

Lời kết

Trong bài hướng dẫn này, chúng tôi đã hướng dẫn cơ bản cách kết nối php tới MySQL database bằng cách sử dụng MySQLi và PHP Data Objects (PDO).MySQLiPHP Data Objects (PDO).

Bạn có thể sử dụng tài liệu này kết hợp với các script nâng cao khác, nhưng hãy làm bước này thành công vì kết nối cơ sở dữ liệu trong php trước là bước đầu tiên trong quá trình thao tác với database.

Hãy để lại bình luận cho chúng tôi biết nếu bạn có gặp bất kỳ vấn đề nào khi sử dụng hướng dẫn này hoặc vấn đề khi kết nối PHP với MySQL.

Hải G. là chuyên gia quản lý, vận hành các dịch vụ website. Anh có nhiều năm kinh nghiệm về VPS, Hosting, technical SEO, CMS. Đặc biệt yêu thích WordPress và đã dùng nó hơn 5 năm nay. Sở thích của anh là đọc, viết blog, đi du lịch và tư vấn cho các bạn trẻ khởi nghiệp.