1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| <?php $hostname = $_POST['dbHost'] ?? 'localhost'; $dbPort = $_POST['dbPort'] ?? 3306; $username = $_POST['dbUser'] ?? ''; $password = $_POST['dbPassword'] ?? ''; $dbName = $dbName ?? '';
// 数据库连接 DSN $dsn = "mysql:host=$hostname;port=$dbPort";
try { // 创建一个新的 PDO 实例 $db = new PDO($dsn, $username, $password); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// 动态创建数据库 $createDbSql = "CREATE DATABASE IF NOT EXISTS `$dbName` DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci"; $db->exec($createDbSql);
// 选择数据库 $db->exec("USE `$dbName`");
// 创建管理员表,根据需要插入数据,或者直接导入sql $createTableSql = "CREATE TABLE IF NOT EXISTS users ( id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY, username VARCHAR(30) NOT NULL, password VARCHAR(255) NOT NULL, email VARCHAR(50), reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP )"; $db->exec($createTableSql);
echo "安装成功,数据库和表已创建。"; } catch (PDOException $e) { $err = "安装失败: " . $e->getMessage(); echo $err; } ?>
|