Files
SunShineMusic/db_connect.php

56 lines
1.9 KiB
PHP
Raw Permalink Normal View History

2025-09-24 14:15:03 +00:00
<?php
// 数据库连接配置
$host = 'localhost'; // 数据库主机
$dbname = 'a1sax1m9i'; // 数据库名
$username = 'a1sax1m9i'; // 数据库用户名
$password = 'a1sax1m9i'; // 数据库密码
// 初始化PDO
$pdo = null;
try {
// 创建数据库连接
$pdo = new PDO(
"mysql:host=$host;dbname=$dbname;charset=utf8mb4",
$username,
$password,
[
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false
]
);
} catch(PDOException $e) {
// 记录连接错误
$logMsg = date('[Y-m-d H:i:s] ') . "数据库连接错误: " . $e->getMessage() . "\n";
file_put_contents('db_error.log', $logMsg, FILE_APPEND);
$pdo = false;
}
// 如果数据库不存在,尝试创建(仅用于开发环境)
if ($pdo && !isset($e)) {
try {
// 检查recommendations表是否存在如果不存在则创建
$tableCheck = $pdo->query("SHOW TABLES LIKE 'recommendations'");
if ($tableCheck->rowCount() === 0) {
$createTableSql = "
CREATE TABLE recommendations (
id INT AUTO_INCREMENT PRIMARY KEY,
song_name VARCHAR(255) NOT NULL,
artist_name VARCHAR(255) NOT NULL,
reason TEXT,
file_path VARCHAR(512) NOT NULL,
status TINYINT NOT NULL DEFAULT 0 COMMENT '0:待审核,1:已同意,2:已驳回',
created_at DATETIME NOT NULL,
reviewed_at DATETIME NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4";
$pdo->exec($createTableSql);
}
} catch(PDOException $e) {
$logMsg = date('[Y-m-d H:i:s] ') . "表创建错误: " . $e->getMessage() . "\n";
file_put_contents('db_error.log', $logMsg, FILE_APPEND);
}
}
?>