若遇到 Class 'mysqli' not found 錯誤,請檢查 php.ini:
extension=php_mysql.dll,移除前方分號 ;。extension=php_mysqli.dll(注意多一個 i)。extension_dir 路徑正確指向 ext/ 目錄。php_mysql.dll、php_mysqli.dll 複製到系統目錄(如 C:\Windows\System32)。<?php
$mysqli = new mysqli("127.0.0.1", "用戶名", "密碼", "資料庫名");
if ($mysqli->connect_errno) {
die("連接失敗: " . $mysqli->connect_error);
}
// 關鍵:設定字符集防止亂碼
$mysqli->query("SET NAMES utf8mb4"); // 推薦 utf8mb4 支援 emoji
$query = "SELECT * FROM `表` ORDER BY `theindex` DESC";
$result = $mysqli->query($query);
while (list($name, $theindex) = $result->fetch_row()) {
echo "<br />{$name}{$theindex}";
}
$result->free();
$mysqli->close();
?>
<?php
try {
$pdo = new PDO(
"mysql:host=127.0.0.1;dbname=資料庫名;charset=utf8mb4",
"用戶名",
"密碼",
[PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]
);
$stmt = $pdo->query("SELECT * FROM `表` ORDER BY `theindex` DESC");
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo "<br />{$row['name']}{$row['theindex']}";
}
} catch (PDOException $e) {
die("連接失敗: " . $e->getMessage());
}
?>
mysql_connect()、mysql_query() 等在 PHP 5.5 棄用、PHP 7.0 移除,嚴禁在新專案使用。
CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci。$mysqli->set_charset('utf8mb4'); 或 query("SET NAMES utf8mb4")charset=utf8mb4<meta charset="utf-8">,PHP header("Content-Type: text/html; charset=utf-8");。SET NAMES gb2312 僅支援基本中文,無法儲存生僻字/Emoji,強烈建議全鏈路使用 utf8mb4。