56 lines
1.9 KiB
PHP
56 lines
1.9 KiB
PHP
<?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);
|
||
}
|
||
}
|
||
?>
|
||
|