Hướng dẫn mysqlconnection - mysqlconnection

Th6 09, 2022

Nội dung chính

  • Tạo MySQL Database
  • Viết code để kết nối PHP với MySQL database
  • Sử dụng MySQLi để kết nối script PHP tới MySQL
  • Dùng PDO để kết nối PHP với MySQL database
  • Giải thích về code PDO
  • Kiểm tra kết nối PHP với MySQL có thành công không
  • Sai mật khẩu
  • Không thể kết nối tới MySQL Server
  • Lời kết

Hai G.

6ít nhất Đọc

Hướng dẫn mysqlconnection - mysqlconnection

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 databaseMySQL Databases như các bước bên dưới:

  • Sử dụng MySQLi để kết nối script PHP tới MySQLMySQL Databases trong phần Databases.
  • Dùng PDO để kết nối PHP với MySQL databaseCreate.

Giải thích về code PDO

Kiểm tra kết nối PHP với MySQL có thành công khôngMySQL 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 code để kết nối PHP với MySQL database

Sử dụng MySQLi để kết nối script PHP tới MySQLMySQLi PDO.

Dùng PDO để kết nối PHP với MySQL databaseviế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.

Giải thích về code PDO

Kiểm tra kết nối PHP với MySQL có thành công khôngmysql_ đã 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.

Sai mật khẩuviế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.

Không thể kết nối tới MySQL Serverprepared 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.

Lời kếtserver 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.

Hai G. đị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ì.

Sử dụng MySQLi để kết nối script PHP tới MySQL

Dùng PDO để kết nối PHP với MySQL database

  1. Giải thích về code PDOFile Manager -> public_html
  2. Kiểm tra kết nối PHP với MySQL có thành công khôngFile mới bằng cách click icon file trên thanh menu
  3. Sai mật khẩudatabaseconnect.php. Bạn có thể thay thế tên này tùy ý nhưng nhớ đuôi file phải là php
  4. Không thể kết nối tới MySQL Server với thông tin bạn có ở bước trước.
    <?php
    $servername = "localhost";
    $database = "databasename";
    $username = "username";
    $password = "password";
    
    // Create connection
    
    $conn = mysqli_connect($servername, $username, $password, $database);
    
    // Check connection
    
    if (!$conn) {
    
        die("Connection failed: " . mysqli_connect_error());
    
    }
    echo "Connected successfully";
    mysqli_close($conn);
    ?>

Lời kết

Hai G. mysqli_connect(). Đây là hàm PHP dùng để thực thi kết nối tới một MySQL server.

6ít nhất Đọc $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.

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.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.

Viết code để kết nối PHP với MySQL database Connected successfully sẽ được thực thi.

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: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.

Dùng PDO để kết nối PHP với MySQL database

Giải thích về code PDO

  1. Kiểm tra kết nối PHP với MySQL có thành công khôngpublic_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.
    <?php
        $host = 'localhost';
        $dbname = 'databasename';
        $username = 'username';
        $password = 'password';
  2. Tạo tiếp một file có tên databaseconnect.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.
    <?php
    require_once 'pdoconfig.php';
     
    try {
        $conn = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
        echo "Connected to $dbname at $host successfully.";
    } catch (PDOException $pe) {
        die("Could not connect to the database $dbname :" . $pe->getMessage());
    }
    databaseconnect.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.
    <?php
    require_once 'pdoconfig.php';
     
    try {
        $conn = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
        echo "Connected to $dbname at $host successfully.";
    } catch (PDOException $pe) {
        die("Could not connect to the database $dbname :" . $pe->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.