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
👉 Bạn bắt đầu nâng cấp level:
"Giờ mình làm login + database cho nó xịn!"
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 (đập tan ảo tưởng ngay từ đầu)
👉 Khi dùng InfinityFree:
❌ KHÔNG dùng:
localhost
root
123456
👉 Thay vào đó, bạn sẽ có dạng:
- 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???" 🤨
7 nguyên nhân phổ biến (Với InfinityFree version, nếu bạn hosting trên các wen 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
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 (rất nên làm)
👉 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 "cứ theo là ra"
👉 MySQL không connect trên InfinityFree?
Host có phải localhost không? ❌
Username đúng chưa?
Database name đúng chưa?
Password đúng chưa?
Đã tạo database chưa?
File config đã upload đúng chưa?
👉 90% lỗi nằm ở 1–3 😏
Một sự thật hơi "đau"
👉 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ớ:
- Không dùng localhost
- Copy đúng thông tin
- 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 upload được file
Website chạy nhưng không lưu dữ liệu
(👉 sẽ có trong các bài tiếp theo)

Không có nhận xét nào:
Đăng nhận xét