ホームページ > バックエンド開発 > PHPチュートリアル > 一般的な PHP システム Web サイトの場合、インストール中にデータベースにテーブルを作成する方法

一般的な PHP システム Web サイトの場合、インストール中にデータベースにテーブルを作成する方法

WBOY
リリース: 2016-06-13 13:34:56
オリジナル
983 人が閲覧しました

一般的な PHP システム Web サイトの場合、インストール中にデータベースにテーブルを作成するにはどうすればよいですか?
たとえば、123.sql ファイルはすでにあります

次に、インストール ページを作成します。[送信] をクリックして、指定されたテーブルに 123.sql をインポートします

コード?


-----解決策---------
クエリ(ファイルコンテンツ) ;
------解決策---------

PHP コード
<?php
if(...){//審査員提出

    //データベースに接続します...

    $path="./123.sql";//123.sql は PHP ファイルのアドレスに対する相対値です
    mysql_query("ソース $パス");
}
<br><font color="#e78608">------解決策---------</font><br>
ログイン後にコピー
話し合う

そんなに簡単ですか?考えすぎて汗…

------解決策---------
これは本当に可能ですか?
ふざけるなよ
------解決策------------------
プログラムをインストールするオープンソース プロジェクトを見つけてインストールすれば、わかります。
dedecms、一目瞭然です

おおよそ以下の通りです
sql-dftables.txt
DROP TABLE IF EXISTS `#@__addonarticle`;
CREATE TABLE ` #@__addonarticle` (
`aid` middleint(8) unsigned NOT NULL デフォルト '0',
`typeid` smallint(5) unsigned NOT NULL デフォルト '0',
`body` mediatext,
`redirecturl` varchar(255) NOT NULL デフォルト '',
`templet` varchar(30) NOT NULL デフォルト '',
`userip` char(15) NOT NULL デフォルト '',
主キー (`aid `),
KEY `typeid` (`typeid`)
) TYPE=MyISAM;

DROP TABLE IF EXISTS `#@__addonimages`;
CREATE TABLE ` #@__addonimages` (
`aid` middleint(8) unsigned NOT NULL デフォルト '0',
`typeid` smallint(5) unsigned NOT NULL デフォルト '0',
`pagestyle` smallint(6) ) NOT NULL デフォルト ' 1'、
`maxwidth` smallint(6) NOT NULL デフォルト '600'、
`imgurls` テキスト、
`row` smallint(6) NOT NULL デフォルト '0'、
`col ` smallint(6) NOT NULL デフォルト '0',
`isrm` smallint(6) NOT NULL デフォルト '0',
`ddmaxwidth` smallint(6) NOT NULL デフォルト '200' ,
`pagepicnum` smallint(6) NOT NULL デフォルト '12',
`templet` varchar(30) NOT NULL デフォルト '',
`userip` char(15) NOT NULL デフォルト '',
`redirecturl ` varchar(255) NOT NULL デフォルト '',
`body` mediatext,
PRIMARY KEY (`aid`),
KEY `imagesMain` (`typeid`)
) TYPE=MyISAM;

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



PHP コード

  $クエリ = '';
  $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($mysqlバージョン 
ログイン後にコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート