thinkphp 表单提交生成数据库 用户 密码 赋权限 更改密码

来源:互联网 发布:墨西哥美洲角球数据 编辑:程序博客网 时间:2024/06/03 15:24

目的表单填写提交数据 创建数据库 导入数据  创建用户 赋权限 更改密码

 这个是我定义的Model类一些方法

<?php /*** 数据库处理Model*/class DatabaseModel extends CommonModel{protected $host;protected $database;protected $username;protected $password;/** * 创建数据库 */public function createdb(){$sql = "create database " .$this->database;parent::execute($sql);}/** * 导入数据库 */public function writein(){//读取根目录下数据库信息$sql = file_get_contents($_SERVER['DOCUMENT_ROOT'] . '/client.sql');$list = explode(';', $sql);//选择库名mysql_select_db($this->database);foreach ($list as $v) {$table = $v . ";";// $status = parent::execute($table);mysql_query($table);}}/** * 创建权限用户 */public function createuser(){$sql = "insert into mysql.user(Host,User,Password) values('".$this->host."','".$this->username."',password('".$this->password."'))";parent::query($sql,false);$flush = "flush privileges";parent::query($flush,false);}/** * 配置权限,增删改查 */public function setgrand(){$sql = "grant select, insert, update, delete on $this->database.* to $this->username@'".$this->host."'";parent::execute($sql,false);}/** * 运行 */public function runprogram($database,$username,$password){$this->host = '127.0.0.1';$this->database = $database;$this->username = $username;$this->password = $password;//执行程序创建数据库,导入数据,创建数据库用户,配置权限self::createdb();self::writein();self::createuser();self::setgrand();//检测程序$status = self::check();return $status;}/** * 检测验证 */public function check(){$conn = mysql_connect("$this->host","$this->username","$this->password");if (!$conn) {return false;}//检测导入的table数mysql_select_db("$this->database");$sql = "show tables";$count = parent::execute($sql,false); //读取数据库里面的table数if ($count != 18) { //检测导入table是否等于读取的table数return false;}return true;}/** * 检测数据库是否存在 */public function checkdbserver($dbserver){if (D('Client')->where(array('dbserver'=>$dbserver))->getField('id')) {return true; //存在}else{return false; //不存在}}/** * 域名检测 */public function checkdomain($domain){if (D('Client')->where(array('domain'=>$domain))->getField('id')) {return true; //存在}else{return false; //不存在}}/** * 用户检测 */public function checkdbuser($dbuser){if (D('Client')->where(array('dbuser'=>$dbuser))->getField('id')) {return true; //存在}else{return false; //不存在}}/** * 用户密码检测 */public function checkdbpass($dbpass){if (D('Client')->where(array('dbpass'=>$dbpass))->getField('id')) {return true; //存在}else{return false; //不存在}}/** * 数据库密码更改 */public function setpass($user,$dbpass){$sql = "update mysql.user set password=password('".$dbpass."') where user='".$user."'";parent::query($sql,false);$flush = "flush privileges";parent::query($flush,false);}} ?>
 同时添加模板里面肯定要写一些异步数据检测数据库名 用户名等等是否存在

模板里:

模板里异步检测方法


添加处理:

编辑处理(数据库:只更改数据库连接面)




0 0
原创粉丝点击