萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 程式設計 >  >> 資料庫 >> MySQL 教學

SAE (新浪雲) MySQL 連線範例:PHP 環境快速上手

SAE MySQL 環境特點

  • 預裝 PHP + MySQL,無需自建環境
  • 提供線上代碼編輯器,適合新手學習
  • 免費額度(雲豆)適合測試、小專案
  • **僅提供單一資料庫**:名稱為 app_你的應用名,不可 CREATE DATABASE

連線常量(系統預定義)

SAE_MYSQL_HOST_M   // 主庫域名
SAE_MYSQL_HOST_S   // 從庫域名(讀寫分離用)
SAE_MYSQL_PORT     // 端口
SAE_MYSQL_USER     // 用戶名
SAE_MYSQL_PASS     // 密碼
SAE_MYSQL_DB       // 資料庫名 = app_應用名

連線範例代碼

<?php
// 1. 連線主庫(寫入操作)
$link = mysql_connect(
    SAE_MYSQL_HOST_M . ':' . SAE_MYSQL_PORT,
    SAE_MYSQL_USER,
    SAE_MYSQL_PASS
);

if (!$link) {
    die('連線失敗: ' . mysql_error());
}

// 2. 選擇資料庫
mysql_select_db(SAE_MYSQL_DB, $link);

// 3. 設定字符集(重要!防亂碼)
mysql_query("SET NAMES 'utf8'", $link);

// 4. 執行 SQL 範例:建表
$sql = "CREATE TABLE IF NOT EXISTS Persons (
    FirstName VARCHAR(15),
    LastName VARCHAR(15),
    Age INT
)";
if (mysql_query($sql, $link)) {
    echo "建表成功";
} else {
    echo "建表失敗: " . mysql_error($link);
}

mysql_close($link);
?>

重要限制與注意

  • 禁用 CREATE DATABASE:只能操作 app_* 庫
  • 舊版 mysql_* 函數:SAE 早期文檔用此,新專案請用 mysqli 或 PDO
  • 讀寫分離:查詢建議用 SAE_MYSQL_HOST_S(從庫),寫入用主庫
  • 連線超時:雲環境網路波動大,設定適當超時與重試

現代寫法(mysqli/PDO)

<?php
// mysqli
$mysqli = new mysqli(
    SAE_MYSQL_HOST_M, SAE_MYSQL_USER, SAE_MYSQL_PASS,
    SAE_MYSQL_DB, SAE_MYSQL_PORT
);
$mysqli->set_charset('utf8mb4');

// PDO
$dsn = "mysql:host={SAE_MYSQL_HOST_M};port={SAE_MYSQL_PORT};dbname={SAE_MYSQL_DB};charset=utf8mb4";
$pdo = new PDO($dsn, SAE_MYSQL_USER, SAE_MYSQL_PASS);

遷移建議

SAE 免費額度有限,正式專案建議遷移至自建雲主機(阿里雲/騰訊雲/華為雲)或托管資料庫(RDS),獲得完整權限與穩定 SLA。

copyright © 萬盛學電腦網 all rights reserved