Home >Backend Development >PHP Tutorial >一般PHP系统的网站,安装时往数据库里建表如何操作

一般PHP系统的网站,安装时往数据库里建表如何操作

WBOY
WBOYOriginal
2016-06-13 10:18:45857browse

一般PHP系统的网站,安装时往数据库里建表怎么操作?
比如我已经有了123.sql文件

现在想弄一个安装页面,点提交就将123.sql导入到指定的表中

代码怎么写?


------解决方案--------------------
query(文件内容);
------解决方案--------------------

PHP code
<?phpif (...){//判断提交    //连接数据库...    $path="./123.sql";//123.sql相对该php文件地址    mysql_query("source $path");}<br /><font color="#e78608">------解决方案--------------------</font><br>
探讨

这么简单?我考虑太多了,汗……

------解决方案--------------------
真的可以这样做吗?
不要自欺欺人了
------解决方案--------------------
找一个安装程序的开源项目,安装一下不就知道了。
dedecms的,一看就明了

大概如下
sql-dftables.txt
DROP TABLE IF EXISTS `#@__addonarticle`;
CREATE TABLE `#@__addonarticle` (
`aid` mediumint(8) unsigned NOT NULL default '0',
`typeid` smallint(5) unsigned NOT NULL default '0',
`body` mediumtext,
`redirecturl` varchar(255) NOT NULL default '',
`templet` varchar(30) NOT NULL default '',
`userip` char(15) NOT NULL default '',
PRIMARY KEY (`aid`),
KEY `typeid` (`typeid`)
) TYPE=MyISAM;

DROP TABLE IF EXISTS `#@__addonimages`;
CREATE TABLE `#@__addonimages` (
`aid` mediumint(8) unsigned NOT NULL default '0',
`typeid` smallint(5) unsigned NOT NULL default '0',
`pagestyle` smallint(6) NOT NULL default '1',
`maxwidth` smallint(6) NOT NULL default '600',
`imgurls` text,
`row` smallint(6) NOT NULL default '0',
`col` smallint(6) NOT NULL default '0',
`isrm` smallint(6) NOT NULL default '0',
`ddmaxwidth` smallint(6) NOT NULL default '200',
`pagepicnum` smallint(6) NOT NULL default '12',
`templet` varchar(30) NOT NULL default '',
`userip` char(15) NOT NULL default '',
`redirecturl` varchar(255) NOT NULL default '',
`body` mediumtext,
PRIMARY KEY (`aid`),
KEY `imagesMain` (`typeid`)
) TYPE=MyISAM;

DROP TABLE IF EXISTS `#@__addoninfos`;
CREATE TABLE `#@__addoninfos` (
`aid` int(11) NOT NULL default '0',
`typeid` int(11) NOT NULL default '0',
`channel` smallint(6) NOT NULL default '0',
`arcrank` smallint(6) NOT NULL default '0',
`mid` mediumint(8) unsigned NOT NULL default '0',
`click` int(10) unsigned NOT NULL default '0',
`title` varchar(60) NOT NULL default '',
`litpic` varchar(60) NOT NULL default '',
`userip` varchar(15) NOT NULL default ' ',
`senddate` int(11) NOT NULL default '0',
`flag` set('c','h','p','f','s','j','a','b') default NULL,
`lastpost` int(10) unsigned NOT NULL default '0',
`scores` mediumint(8) NOT NULL default '0',
`goodpost` mediumint(8) unsigned NOT NULL default '0',
`badpost` mediumint(8) unsigned NOT NULL default '0',
`nativeplace` smallint(5) unsigned NOT NULL default '0',
`infotype` smallint(5) unsigned NOT NULL default '0',
`body` mediumtext,
`endtime` int(11) NOT NULL default '0',
`tel` varchar(50) NOT NULL default '',
`email` varchar(50) NOT NULL default '',
`address` varchar(100) NOT NULL default '',
`linkman` varchar(50) NOT NULL default '',
PRIMARY KEY (`aid`),
KEY `typeid` (`typeid`,`nativeplace`,`infotype`),
KEY `channel` (`channel`,`arcrank`,`mid`,`click`,`title`,`litpic`,`senddate`,`flag`,`endtime`)
) TYPE=MyISAM;
。。。。



PHP code
  $query = '';  $fp = fopen(dirname(__FILE__).'/sql-dftables.txt','r');    while(!feof($fp))    {         $line = rtrim(fgets($fp,1024));         if(ereg(";$",$line))         {               $query .= $line."\n";               $query = str_replace('#@__',$dbprefix,$query);               if($mysqlVersion 
                 
              
              
        
            
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn