生產環境突然拋出「表不存在」異常,懷疑連接錯誤數據庫,需快速確認當前連接的數據庫名稱。
<?php
$current_database = mysql_query("SELECT DATABASE()") or die(mysql_error());
echo mysql_result($current_database, 0);
SELECT DATABASE() 為 MySQL 內置函數,返回當前會話默認數據庫。mysql_result($resource, 0) 取結果集第一行第一列值。mysql_* 擴展已在 PHP 7.0+ 移除,新項目請使用 mysqli 或 PDO:$mysqli = new mysqli('localhost', 'user', 'pass', 'db');
$result = $mysqli->query("SELECT DATABASE()");
$row = $result->fetch_row();
echo $row[0];
$pdo = new PDO('mysql:host=localhost;dbname=db', 'user', 'pass');
$stmt = $pdo->query("SELECT DATABASE()");
echo $stmt->fetchColumn();