@@ -81,43 +81,43 @@ public function setup3()
81
81
if ($ data ['password ' ] != $ data ['password2 ' ]) {
82
82
install_show_msg ('重复密码不匹配! ' , false );
83
83
}
84
- //检查数据库
85
- $ link = @mysql_connect ($ data ['db ' ]['hostname ' ] . ': ' . $ data ['db ' ]['hostport ' ], $ data ['db ' ]['username ' ], $ data ['db ' ]['password ' ]);
86
- if (!$ link ) {
84
+
85
+ // 缓存数据库配置
86
+ session ('db_config ' , $ data ['db ' ]);
87
+
88
+ // 防止不存在的数据库导致连接数据库失败
89
+ $ db_name = $ data ['db ' ]['database ' ];
90
+ unset($ data ['db ' ]['database ' ]);
91
+
92
+ // 创建数据库连接
93
+ $ db_instance = Db::connect ($ data ['db ' ]);
94
+ // 检测数据库连接
95
+ try {
96
+ $ db_instance ->execute ('select version() ' );
97
+ }catch (\Exception $ e ){
87
98
install_show_msg ('数据库连接失败,请检查连接信息是否正确! ' , false );
88
99
}
89
- $ mysqlInfo = mysql_get_server_info ($ link );
90
- if ($ mysqlInfo < '5.1.0 ' ) {
91
- install_show_msg ('mysql版本低于5.1,无法继续安装! ' , false );
92
- }
93
100
94
- $ status = @mysql_select_db ($ data ['db ' ]['database ' ], $ link );
95
- if (!$ status ) {
96
- //尝试创建数据库
97
- $ sql = "CREATE DATABASE IF NOT EXISTS ` " . $ data ['db ' ]['database ' ] . "` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; " ;
98
- if (!mysql_query ($ sql )) {
99
- install_show_msg ('数据库 ' . $ data ['db ' ]['database ' ] . '自动创建失败,请手动建立数据库! ' , false );
100
- }
101
- mysql_select_db ($ data ['db ' ]['database ' ], $ link );
101
+ $ result = $ db_instance ->execute ('SELECT * FROM information_schema.schemata WHERE schema_name=" ' .$ db_name .'" ' );
102
+ if ($ result ) {
103
+ install_show_msg ('该数据库已存在,请更换名称! ' , false );
102
104
}
103
- install_show_msg ('数据库检查创建完成... ' );
104
105
106
+ // 创建数据库
107
+ $ sql2 = "CREATE DATABASE IF NOT EXISTS ` {$ db_name }` DEFAULT CHARACTER SET utf8 " ;
108
+ $ db_instance ->execute ($ sql2 ) || install_show_msg ($ db_instance ->getError (), false );
105
109
//修改数据库配置文件
106
- write_config ($ data ['db ' ]);
107
- //安装数据库
110
+ write_config (session ('db_config ' ));
111
+ $ db_instance2 = Db::connect (session ('db_config ' ));
112
+ // 开始安装
108
113
$ file = './wemall7.sql ' ;
109
114
$ sqlData = get_mysql_data ($ file , '' , '' );
110
115
foreach ($ sqlData as $ sql ) {
111
- $ rst = mysql_query ($ sql );
112
-
113
- if ($ rst === false ) {
114
- install_show_msg (mysql_error (), false );
115
- }
116
+ $ db_instance2 ->execute ($ sql );
116
117
}
117
- //连接数据库
118
- Db::connect ($ data ['db ' ]);
118
+
119
119
//创建超级管理员
120
- Db:: name ('admin ' )->where ('id ' ,1 )->update (['username ' => $ data ['username ' ],'password ' =>md5 ($ data ['password ' ])]);
120
+ $ db_instance2 -> name ('admin ' )->where ('id ' ,1 )->update (['username ' => $ data ['username ' ],'password ' =>md5 ($ data ['password ' ])]);
121
121
install_show_msg ('超级管理员创建完成... ' );
122
122
123
123
//创建文件锁
0 commit comments