Chủ Nhật, 3 tháng 5, 2026

MySQL không connect được? 7 lý do "trời ơi đất hỡi" khi làm web miễn phí (InfinityFree edition )

Mò mẫm MySQL luôn luôn giống như...thám hiểm hang động! Vừa háo hức, vừa...lo lắng! Bạn đã làm được một việc rất đáng "tự hào":


  • Tạo website miễn phí trên InfinityFree
  • Upload file PHP lên
  • Mở trình duyệt thấy web chạy. Dù chỉ vài chòng text, vài hình ảnh


👉 Bạn bắt đầu nâng cấp level:


"Giờ mình làm login + database cho nó xịn!"


Theo "bài bản" đã tham khảo, bạn viết:


$conn = mysqli_connect("localhost", "root", "123456", "test");


Bấm chạy…


👉 Và…


Warning: mysqli_connect(): (HY000/2002): Connection failed


Bạn ngồi im 5 giây… rồi nghĩ:


"Ủa… mình làm đúng hết rồi mà???", "OK, kiểm tra lại lần nữa....Đúng hết rồi mà ta?!!"


👉 Không. Bạn sai… nhưng là sai kiểu ai cũng từng sai 😅



Khi dùng hosting miễn phí như InfinityFree, lỗi không connect được MySQL thường do:


  • sai host (KHÔNG phải localhost)
  • sai username/password
  • sai database name
  • chưa tạo database



⚠️ Sự thật quan trọng (vỡ... mộng chiều xuân!)


👉 Khi dùng InfinityFree:


KHÔNG dùng:

  • localhost
  • root
  • 123456


👉 Thay vào đó, bạn sẽ có dạng (không nhất thiết giống, nhưng nói chung không phải theo kiểu...localhost):


  • Host: sqlXXX.infinityfree.com
  • Username: abc_12345678
  • Password: ********
  • Database: abc_12345678_dbname


👉 Nếu bạn vẫn dùng "localhost + root"


→ MySQL sẽ nhìn bạn kiểu:


"Bạn là ai???" 🤨

Nếu dùng InfinityFree, bạn nên tham khảo thông tin tương tự bên dưới:




7 nguyên nhân phổ biến 

(Với InfinityFree version, nếu bạn hosting trên các web hosting khác thì tùy cơ ứng biến nghe bạn...!)

1. Dùng "localhost" (lỗi kinh điển nhất)


👉 Bạn viết:


mysqli_connect("localhost", ...)


👉 Nhưng trên InfinityFree:


👉 Database nằm ở máy chủ khác


👉 Fix:


  • vào control panel. Tương tự hình trên
  • copy đúng DB Host


👉 Đây là lỗi:


"nghĩ mình đang đá ở sân nhà… nhưng thực ra đang đá sân khách" ⚽😅


2. Sai username (rất dễ nhầm)


👉 Username trên InfinityFree không phải:


root


👉 Nó kiểu:


abc_12345678


👉 Sai 1 ký tự → không connect


3. Sai database name (cực dễ dính)


👉 Bạn tạo database tên:


mydb


👉 Nhưng thật ra hệ thống đặt là:


abc_12345678_mydb


👉 Fix:


copy chính xác từ control panel


4. Sai password (hoặc quên password 😅)


👉 Bạn nghĩ password là:


123456


👉 Nhưng thực tế:


  • bạn đã đặt password khác
  • hoặc copy thiếu


👉 Fix:


  • reset password
  • copy lại


5. Chưa tạo database


👉 Bạn connect:


database = "abc_xxx_test"


👉 Nhưng chưa tạo 🤡


👉 Fix:


  • vào MySQL Databases
  • tạo database trước


6. Sai file config (copy code từ YouTube 😅)


👉 Bạn copy:


$conn = mysqli_connect("localhost", "root", "", "test");


👉 Và quên sửa lại


👉 Đây là lỗi:


"copy paste không suy nghĩ" 😅


7. Upload đúng file… nhưng sửa nhầm file


👉 Case rất "ảo":


bạn sửa config.php

nhưng upload file khác


👉 Kết quả:


bạn fix đúng

nhưng web vẫn lỗi


👉 Debug kiểu:


"mình đã sửa mà sao không được???" 🤡


Code mẫu đúng (InfinityFree)


👉 Bạn nên viết kiểu này:


<?php

$conn = mysqli_connect(

    "sqlXXX.infinityfree.com",

    "abc_xxxxx",

    "your_password",

    "abc_xxxxx_dbname"

);


if (!$conn) {

    die("Connection failed: " . mysqli_connect_error());

}


echo "Kết nối thành công 😏";

?>

Test nhanh


👉 Tạo file:


test_db.php


👉 Upload lên


👉 Mở trình duyệt:


yourdomain.infinityfreeapp.com/test_db.php


👉 Nếu thấy:


Kết nối thành công 😏


👉 OK


👉 Nếu không:

→ quay lại checklist


Checklist "chuẩn không cần chỉnh"


👉 MySQL không connect trên InfinityFree?


  1. Host có phải localhost không? ❌
  2. Username đúng chưa?
  3. Database name đúng chưa?
  4. Password đúng chưa?
  5. Đã tạo database chưa?
  6. File config đã upload đúng chưa?


👉 90% lỗi nằm ở 1–3 😏


Sự thật...biết rồi, khổ lắm, nói mãi!


👉 Khi học local:


  • localhost
  • root


👉 Khi lên hosting:


→ tất cả thay đổi


👉 Và bạn:


"Ủa sao code giống mà không chạy???"


👉 Vì:


môi trường khác = luật chơi khác


Tổng kết


MySQL không connect trên InfinityFree không phải lỗi "khó"


👉 Nó chỉ là:


  • sai host
  • sai config
  • sai… một chút xíu 😅


👉 Nhớ:


  1. Không dùng localhost
  2. Copy đúng thông tin
  3. Test từng bước

FAQ nhanh


Có dùng localhost được không?

→ Không (trên InfinityFree)


Vì sao local chạy được mà online không chạy?

→ Vì config khác


Có nên học bằng hosting free không?

→ Có. Rất tốt cho newbie 😏


👉 Bạn có thể cũng đang gặp:

PHP báo Undefined index

Không kết nối được database

Không nhận dữ liệu từ form