diff --git a/admin/install.php b/admin/install.php index 75bd03f3..bd5cb4f0 100644 --- a/admin/install.php +++ b/admin/install.php @@ -3,7 +3,7 @@ * @Author: printempw * @Date: 2016-01-16 23:01:33 * @Last Modified by: printempw - * @Last Modified time: 2016-03-13 09:38:50 + * @Last Modified time: 2016-03-13 11:26:50 * * Blessing Skin Server Installer */ @@ -140,7 +140,7 @@ if (isset($_POST['username']) && isset($_POST['password']) && isset($_POST['pass header('Location: install.php?step=2&msg=表单信息不完整。'); die(); } -$sql = "CREATE TABLE IF NOT EXISTS `users` ( +$sql = "CREATE TABLE IF NOT EXISTS `".DB_PREFIX."users` ( `uid` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(20) NOT NULL, `password` varchar(32) NOT NULL, @@ -161,7 +161,7 @@ if (!$conn->query($sql)) { ?> } // Insert user -$conn->query("INSERT INTO `users` (`uid`, `username`, `password`, `ip`, `preference`) VALUES +$conn->query("INSERT INTO `".DB_PREFIX."users` (`uid`, `username`, `password`, `ip`, `preference`) VALUES (1, '".$username."', '".md5($_POST['password'])."', '127.0.0.1', 'default')"); if (!is_dir("../textures/")) { diff --git a/config.example.php b/config.example.php index 39a69e0a..c049ddc3 100644 --- a/config.example.php +++ b/config.example.php @@ -2,7 +2,7 @@ /* MySQL 数据库名 */ define('DB_NAME', 'skin'); -/* MySQL 用户名 */ +/* MySQL 数据库用户名 */ define('DB_USER', 'root'); /* MySQL 连接密码 */ @@ -14,10 +14,19 @@ define('DB_PORT', 3306); /* MySQL 主机 */ define('DB_HOST', 'localhost'); +/** + * 数据表前缀 + * + * 如果您有在同一数据库内安装多个 Blessing Skin Server 的需求, + * 或者需要与 Authme、Discuz 等程序对接时,请为每个皮肤站设置 + * 不同的数据表前缀。前缀名只能为数字、字母加下划线。 + */ +define('DB_PREFIX', 'bs_'); + /* 盐,用于 token 加密,修改为任意随机字符串 */ define('SALT', '9tvsh55d*s'); -/* 调试模式,开启后将会显示所有用于错误提示 */ +/* 调试模式,开启后将会显示所有错误提示 */ define('DEBUG_MODE', false); /* 同一 IP 最大可注册账户数 */ diff --git a/includes/Database.class.php b/includes/Database.class.php index d0f79ea8..032b6ed4 100644 --- a/includes/Database.class.php +++ b/includes/Database.class.php @@ -3,7 +3,7 @@ * @Author: printempw * @Date: 2016-02-02 21:59:06 * @Last Modified by: printempw - * @Last Modified time: 2016-03-12 20:55:08 + * @Last Modified time: 2016-03-13 11:27:11 */ class Database @@ -22,7 +22,7 @@ class Database "无法连接至 MySQL 服务器。请确认 config.php 中的配置是否正确:".$conn->connect_error); } if (!self::checkTableExist($conn)) { - Utils::showErrorPage(-1, "数据库中不存在 users 表。请先运行 /admin/install.php 进行安装。"); + Utils::showErrorPage(-1, "数据库中不存在 ".DB_PREFIX."users 表。请先运行 /admin/install.php 进行安装。"); } $dir = dirname(dirname(__FILE__)); if (!is_dir("$dir/textures/")) { @@ -33,7 +33,7 @@ class Database public static function checkTableExist($conn) { $sql = "SELECT table_name FROM - `INFORMATION_SCHEMA`.`TABLES` WHERE table_name ='users' + `INFORMATION_SCHEMA`.`TABLES` WHERE table_name ='".DB_PREFIX."users' AND TABLE_SCHEMA='".DB_NAME."'"; return ($conn->query($sql)->num_rows != 0) ? true : false; } @@ -51,16 +51,16 @@ class Database } public function select($key, $value) { - return $this->fetchArray("SELECT * FROM users WHERE $key='$value'"); + return $this->fetchArray("SELECT * FROM ".DB_PREFIX."users WHERE $key='$value'"); } public function getNumRows($key, $value) { - $sql = "SELECT * FROM users WHERE $key='$value'"; + $sql = "SELECT * FROM ".DB_PREFIX."users WHERE $key='$value'"; return $this->query($sql)->num_rows; } public function getRecordNum() { - $sql = "SELECT * FROM users WHERE 1"; + $sql = "SELECT * FROM ".DB_PREFIX."users WHERE 1"; return $this->query($sql)->num_rows; } @@ -72,17 +72,17 @@ class Database $uname = $array['uname']; $passwd = $array['passwd']; $ip = $array['ip']; - $sql = "INSERT INTO users (username, password, ip, preference) - VALUES ('$uname', '$passwd', '$ip', 'default')"; + $sql = "INSERT INTO ".DB_PREFIX."users (username, password, ip, preference) + VALUES ('$uname', '$passwd', '$ip', 'default')"; return $this->query($sql); } public function update($uname, $key, $value) { - return $this->query("UPDATE users SET `$key`='$value' WHERE username='$uname'"); + return $this->query("UPDATE ".DB_PREFIX."users SET `$key`='$value' WHERE username='$uname'"); } public function delete($uname) { - return $this->query("DELETE from users WHERE username='$uname'"); + return $this->query("DELETE FROM ".DB_PREFIX."users WHERE username='$uname'"); } }