想確認 PHP 能否成功連接 MySQL 資料庫?以下提供兩種做法:傳統 mysql_connect(已棄用)與現代 mysqli/PDO 寫法,建議直接使用後者。
將下列程式碼存為 test_mysql.php,放入網站根目錄執行:
<?php
/**
* 測試 PHP 與 MySQL 連線(舊式寫法)
* 注意:mysql_* 函式自 PHP 5.5 棄用,PHP 7.0 移除
*/
$link = @mysql_connect("localhost", "root", "123");
if (!$link) {
die("FAILED! 連線錯誤,請檢查主機、帳號、密碼");
} else {
echo "OK! 可以連接 MySQL";
mysql_close($link);
}
?>
參數說明: mysql_connect(主機, 帳號, 密碼)
<?php
$mysqli = @new mysqli("localhost", "root", "123", "test_db");
if ($mysqli->connect_errno) {
die("FAILED! 連線錯誤:{$mysqli->connect_error}");
}
echo "OK! mysqli 連線成功";
$mysqli->close();
?>
<?php
try {
$pdo = new PDO("mysql:host=localhost;dbname=test_db;charset=utf8mb4", "root", "123");
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "OK! PDO 連線成功";
} catch (PDOException $e) {
die("FAILED! 連線錯誤:" . $e->getMessage());
}
?>
Access denied:確認帳號密碼、主機位址、權限設定。Can't connect to MySQL server:檢查 MySQL 服務是否啟動、防火牆、port 3306 是否開放。SET NAMES utf8mb4(mysqli: $mysqli->set_charset("utf8mb4");PDO: DSN 加 charset=utf8mb4)。建議直接採用 PDO 或 mysqli,並搭配預處理語句防止 SQL 注入。