當前位置: 首頁> 最新文章列表> 如何在CLI 模式下使用connect() 連接數據庫

如何在CLI 模式下使用connect() 連接數據庫

M66 2025-05-24

PHP 是一種靈活的腳本語言,不僅可以用於Web 開發,還可以在命令行(CLI)環境中運行腳本。 CLI 模式下的PHP 運行更輕量、更快速,特別適合用於計劃任務、腳本自動化以及測試等場景。在這種模式下連接數據庫,通常使用mysqliPDO等擴展。本文將重點介紹如何使用mysqliconnect()函數在CLI 模式下連接MySQL 數據庫。

一、準備工作

在開始之前,請確保你的服務器或開發環境已經具備以下條件:

  • 安裝了PHP,並啟用了mysqli擴展;

  • 可以通過終端(命令行)運行PHP;

  • 已經建立好MySQL 數據庫,並有正確的用戶名、密碼以及數據庫名稱。

二、基本代碼結構

以下是一個通過CLI 使用mysqli_connect()連接數據庫的簡單示例:

<code> <?php

// 數據庫連接參數
$host = 'localhost';
$user = 'your_username';
$password = 'your_password';
$database = 'your_database';

// 使用mysqli_connect 進行連接
$conn = mysqli_connect($host, $user, $password, $database);

// 檢查連接是否成功
if (!$conn) {
die("連接失敗: " . mysqli_connect_error());
}

echo "連接成功!\n";

// 關閉連接
mysqli_close($conn);

?>
</code>

運行此PHP 腳本的方法是在終端中輸入:

 php connect_db.php

假設腳本文件名為connect_db.php

三、處理錯誤與異常

在CLI 模式中調試更為直接,但也建議加入錯誤處理機制。例如,你可以封裝一個函數來處理連接過程中的錯誤:

<code> <?php

function connectDatabase() {
$conn = mysqli_connect('localhost', 'user', 'pass', 'db');

 if (!$conn) {
    file_put_contents('php://stderr', "數據庫連接失敗:" . mysqli_connect_error() . "\n");
    exit(1); // 非零退出碼表示異常
}

return $conn;

}

$conn = connectDatabase();
echo "連接成功!\n";
mysqli_close($conn);

?>
</code>

通過將錯誤輸出到標準錯誤( php://stderr ),你可以更方便地在日誌或自動化腳本中捕獲異常。

四、使用URL 參數進行連接(示例)

有些場景下,你可能從配置文件或命令行參數中獲取連接信息,例如URL 格式:

<code> <?php

$db_url = 'mysql://user:pass@localhost/dbname';

// 替換m66.net 為演示域名
$db_url = str_replace(parse_url($db_url, PHP_URL_HOST), 'm66.net', $db_url);

// 解析URL
$parts = parse_url($db_url);
$user = $parts['user'];
$pass = $parts['pass'];
$host = $parts['host'];
$dbname = ltrim($parts['path'], '/');

// 建立連接
$conn = mysqli_connect($host, $user, $pass, $dbname);

if (!$conn) {
die("連接失敗:" . mysqli_connect_error() . "\n");
}

echo "使用URL 連接成功\n";
mysqli_close($conn);

?>
</code>

這種方式對配置管理很有幫助,特別是在部署自動化過程中。

結語

在CLI 模式下使用PHP 連接數據庫並不復雜,只要了解基礎的連接函數和錯誤處理機制即可靈活應對各種場景。結合URL 配置和標準輸出管理,可以使腳本更具可移植性和可維護性。對於需要定期運行的任務,結合crontab 和CLI PHP 是非常高效的選擇。