# root 用戶擁有最高權限
mysqladmin -u root -p create TUTORIALS
Enter password: ******
成功無輸出,可用 mysql -u root -p -e "SHOW DATABASES" 驗證。
注意:mysql_* 系列函數自 PHP 5.5 棄用,PHP 7.0 移除。新項目請使用 mysqli 或 PDO。
<?php
$dbhost = 'localhost:3306';
$dbuser = 'root';
$dbpass = 'rootpassword';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if (!$conn) die('Connect failed: ' . mysql_error());
$sql = 'CREATE DATABASE TUTORIALS';
$retval = mysql_query($sql, $conn);
if (!$retval) die('Create DB failed: ' . mysql_error());
echo "Database TUTORIALS created successfully\n";
mysql_close($conn);
?>
<?php
// PDO 方式(推薦)
$dsn = 'mysql:host=localhost;port=3306;charset=utf8mb4';
$user = 'root';
$pass = 'rootpassword';
try {
$pdo = new PDO($dsn, $user, $pass, [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION
]);
$pdo->exec("CREATE DATABASE IF NOT EXISTS TUTORIALS CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci");
echo "Database created successfully\n";
} catch (PDOException $e) {
die("Error: " . $e->getMessage());
}
// mysqli 面向對象方式
$mysqli = new mysqli('localhost', 'root', 'rootpassword', '', 3306);
if ($mysqli->connect_errno) die("Connect failed: " . $mysqli->connect_error);
$sql = "CREATE DATABASE IF NOT EXISTS TUTORIALS CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci";
if ($mysqli->query($sql)) {
echo "Database created successfully\n";
} else {
die("Error: " . $mysqli->error);
}
$mysqli->close();
?>
| 特性 | mysql_* (舊) | mysqli | PDO |
|---|---|---|---|
| PHP 版本支援 | ≤ 5.6 | ≥ 5.0 | ≥ 5.1 |
| 預處理語句 | 不支持 | 支持 | 支持 |
| 多數據庫抽象 | 否 | 否 | 是 |
| 異常處理 | 無 | 可選 | 原生 |
| 推薦等級 | ❌ 棄用 | ✅ 可用 | ⭐ 首選 |