<?php
$link = mysqli_connect('localhost', 'root', '123456');
if (!$link) {
die('連接失敗: ' . mysqli_connect_error());
}
echo '連接成功!';
mysqli_close($link);
?>
注意:原文使用已棄用的 mysql_* 函數,現代 PHP(5.5+ 棄用,7.0+ 移除)應改用 mysqli 或 PDO。
這表示 PHP 未載入 MySQL 擴展。排查步驟:
php_mysqli.dll(PHP 5.3+ 內建 mysqli)libmysql.dll(MySQL 客戶端庫,PHP 5.3+ 通常內建 mysqlnd,不再強制需求); 移除前面的分號
extension=mysqli
; PHP 7.2+ 可能需顯式指定
extension=pdo_mysql
extension_dir = "C:/php/ext"
將 PHP 安裝目錄(如 C:\php)加入系統環境變數 PATH,確保 libmysql.dll 可被載入。
Apache:httpd -k restart 或服務管理器重啟
Nginx + PHP-FPM:重啟 php-fpm 服務
建立 phpinfo.php:
<?php phpinfo(); ?>
搜尋 mysqli、pdo_mysql、mysqlnd 區塊確認載入成功。
<?php
try {
$pdo = new PDO('mysql:host=localhost;dbname=test;charset=utf8mb4', 'root', '123456', [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
]);
echo 'PDO 連接成功!';
} catch (PDOException $e) {
die('連接失敗: ' . $e->getMessage());
}
?>
PDO 提供統一介面、預處理語句防 SQL 注入、支援多種資料庫,是新專案推薦選擇。