首页 » 建站技术 » PHP 技术 » 浏览内容

PHP实现Mysql数据库安装程序


2007-01-22 08:37:21 17,118 0 发表评论 字体: 作者:C.K.
标签: 教程

体验版 88 元,个人版 128 元,多用户版 288元个人版160元升级到多用户版。

From:http://www.phpchina.com/bbs/thread-15719-1-1.html

引言
  最近用PHP做了一个Mysql数据库安装程序,用过PHP程序的朋友们都应该知道第一步怎么做,除了把程序源码放到相应目录里外,第一步就是程序安装,安装时大多数都是运行目录下的install.php,安装后安装相关联文件即自动删除,并在配置文件中记录你在安装时的配置信息,下面我详细说明一下。
设计概要
  设计一个安装界面,再根据所需安装步骤创建不同的安装过程,通过一个个表单的获取变量来保存在这些安装步骤窗体之间的参数值。安装数据库和初始化数据均使用SQL脚本来生成,这些脚本统一保存在一个定义好的PHP文件中(更好的选择当然是放到一个格式化好的XML文件中),安装程序通过配置文件中指定的路径及变量读取该PHP文件,安装成功后并在根据根目录中保存数据库信息(包括:数据库地址、数据库名称、数据库用户、数据库密码)config_db.php的文件,生成该文件后则表示安装程序已经成功,如果想要重新安装必须删除此文件。


  安装程序通过配置文件中配置好的SQL脚本来创建数据库信息,如“会员表”、“分类表”、“系统频道参数表”、“统计信息表”、“短信表”,具体配置文件中SQL脚本内容如下:

//===================================================================
//会员表
//===================================================================
$Asen_User_schema = “
create table Asen_User_table (
uid int(11) unsigned not null auto_increment,
User_class tinyint(2) default '0' not null,
User_id varchar(20) default '' not null,
User_pass varchar(32) default '' not null,
User_name varchar(30) default '' not null,
User_jumin varchar(13) default '' not null,
User_sex tinyint(2) default '0' not null,
User_birthday varchar(8),
User_tel1 varchar(20),
User_tel2 varchar(20),
User_tel3 varchar(20),
User_email varchar(150),
User_zip varchar(10),
User_address varchar(255),
User_homepage varchar(255),
User_automail tinyint(2) default '0' not null,
User_recommend varchar(20),
User_interest tinyint(2) default '0' not null,
User_hobby tinyint(2) default '0' not null,
User_religion tinyint(2) default '0' not null,
User_blood tinyint(2) default '0' not null,
User_job tinyint(2) default '0' not null,
User_jobname1 varchar(30),
User_jobname2 varchar(30),
User_tel4 varchar(20),
User_tel5 varchar(20),
User_jobzip varchar(10),
User_jobaddress varchar(255),
User_marriage tinyint(2) default '0' not null,
User_marriageday varchar(8),
User_introduction text,
User_main text,
User_admin_memo text,
User_point double(11,2) unsigned default '0.00' not null,
User_image varchar(255),
User_login int(11) unsigned default '0' not null,
modify_id varchar(20),
modify_ip varchar(20),
modify_date int(11) unsigned default '0' not null,
register_date int(11) unsigned default '0' not null,
approval_date int(11) unsigned default '0' not null,
primary key (uid),
key User_id (User_id),
key User_pass (User_pass),
key User_class (User_class),
key User_jumin (User_jumin),
key User_point (User_point),
key register_date (register_date)
)”;
//===================================================================
//分类表
//===================================================================
$Asen_category_schema = “
create table Asen_category_table (
uid int(11) unsigned not null auto_increment,
category_id int(8) zerofill not null,
category_depth tinyint(2) default '1' not null,
category_name varchar(255),
category_skin varchar(255),
category_grant tinyint(2) default '0' not null,
category_file1 varchar(255),
category_file2 varchar(255),
category_rank int(11) unsigned default '1' not null,
use_html tinyint(2) default '0' not null,
category_head text,
category_foot text,
category_admin_memo text,
category_hit int(11) unsigned default '0' not null,
category_vote int(11) unsigned default '0' not null,
register_date int(11) unsigned default '0' not null,
approval_date int(11) unsigned default '0' not null,
primary key (uid),
key category_id (category_id),
key category_rank (category_rank)
)”;
//===================================================================
//系统频道参数表
//===================================================================
$Asen_badmin_schema = “
create table Asen_badmin_table (
uid int(11) unsigned not null auto_increment,
board_name_code varchar(30),
board_total_access int(11) unsigned default '0' not null,
board_total_record int(11) unsigned default '0' not null,
board_skin varchar(255),
board_gohome varchar(255),
board_gohome_target varchar(20),
table_width int(5) default '95' not null,
str_length int(11) unsigned default '35' not null,
list_num tinyint(2) default '15' not null,
page_num tinyint(2) default '10' not null,
comment_num tinyint(2) default '15' not null,
browser_title varchar(255),
board_title varchar(255),
board_title_image varchar(255),
board_header_text text,
board_tailer_text text,
board_hlist_text text,
board_tlist_text text,
board_header_file varchar(255),
board_tailer_file varchar(255),
board_basic_text text,
board_basictop_text text,
board_comment_text text,
use_list char(1) default '1' not null,
use_category char(1) default '0' not null,
use_html char(1) default '0' not null,
use_filter char(1) default '1' not null,
use_link1 char(1) default '0' not null,
use_link2 char(1) default '0' not null,
use_file1 char(1) default '0' not null,
use_file2 char(1) default '0' not null,
file_size int(11) default '2097152' not null,
use_autolink char(1) default '1' not null,
use_comment char(1) default '1' not null,
use_secret char(1) default '0' not null,
use_search char(1) default '1' not null,
use_viewip char(1) default '0' not null,
use_spam char(1) default '0' not null,
use_print char(1) default '0' not null,

remote_connect char(1) default '0' not null,
ip_select char(1) default '0' not null,
filter_text text,
ip_close text,
ip_connect text,
name_close text,
use_mailer char(1) default '0' not null,
use_admin_remail char(1) default '0' not null,
use_white_remail char(1) default '0' not null,
class_list tinyint(2) default '0' not null,
class_view tinyint(2) default '0' not null,
class_write tinyint(2) default '0' not null,
class_comment tinyint(2) default '0' not null,
class_reply tinyint(2) default '0' not null,
class_modify tinyint(2) default '7' not null,
class_delete tinyint(2) default '7' not null,
class_notice tinyint(2) default '7' not null,
class_secret tinyint(2) default '7' not null,
class_html tinyint(2) default '0' not null,
class_download tinyint(2) default '0' not null,
class_print tinyint(2) default '0' not null,
class_approval tinyint(2) default '0' not null,
approval_date int(11) unsigned default '0' not null,
register_date int(11) unsigned default '0' not null,
primary key (uid)
)”;

//===================================================================
//统计信息表
//===================================================================
$Asen_counter_schema = “
create table Asen_counter_table (
uid int(11) unsigned not null auto_increment,
counter_total int(11) unsigned default '0' not null,
counter_max int(11) unsigned default '0' not null,
counter_min int(11) unsigned default '0' not null,
counter_yesterday int(11) unsigned default '0' not null,
counter_now int(11) unsigned default '0' not null,
counter_regdate int(8) default '0' not null,
primary key (uid)
)”;

//===================================================================
//短信表
//===================================================================
$Asen_info_schema = “
create table Asen_info (
`id` int(11) NOT NULL auto_increment,
`id_send` int(11) NOT NULL default '0',
`id_get` int(11) NOT NULL default '0',
`name_send` varchar(128) NOT NULL default '',
`name_get` varchar(128) NOT NULL default '',
`title` varchar(128) NOT NULL default '',
`content` text NOT NULL,
`time` datetime NOT NULL default '0000-00-00 00:00:00',
`orlook` tinyint(4) NOT NULL default '0',
`de_send` tinyint(4) NOT NULL default '0',
`de_get` tinyint(4) NOT NULL default '0',
PRIMARY KEY (`id`)
)”;
从上面的SQL脚本程序中,可以看出我将创建表的信息赋给一个变量。

1 2 3 4

网站统计 Statistics

  • 创建时间: 2005年1月3日 距今5038 天
  • 日志总数: 2461
  • 评论总数: 630
  • 标签总数: 654
  • 链接总数: 273
  • 最后更新: 2018-8-31 17:57:04
  • 您是本站第 14050239 位访客

广告区 Guǎng Gào