Creat Table ....你可以用MYPHPADMIN导出SQL文件,然后复制SQL语句~写进你的PHP代码里~

解决方案 »

  1.   

    CREATE TABLE tablename(
    aid int(11) NOT NULL auto_increment,
    filename varchar(255) NOT NULL default '',
    filesize int(12) NOT NULL default '0',
    realname varchar(255) NOT NULL default '',
    addtime varchar(10) NOT NULL default '',
    PRIMARY KEY (aid)
    );
      

  2.   

    不知楼主表达的是不是图形化安装数据库的示例,我前段时间在一个网站中倒是用到过,将代码给楼主,参考一下吧:
    createDb.html
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Insert title here</title>
    </head>
    <body>
    <form  name="creatdb" action="process.php" method="post">
    <p>数据库名:<input type="text" size=20 name="dbname"/></p>
    <p>服务器名:<input type="text" size=20 name="hostname" value="localhost"/></p>
    <p>用 户 名:<input type="text" size=20 name="logname" value="root"/></p>
    <p>密&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;码:<input type="text" size=20 name="dbpwd"/></p>
    <p>表 前 缀:<input type="text" size=20 name="prefix" value="db_"/></p>
    <p><input type=submit name="sbmt" value="创建数据库"/></p>
    </form>
    </body>
    </html>process.php
    <?php
    /*-------------------------------------
    Author: DuRL <[email protected]>
    Date: Dec 13rd,2006
    Function: Create DB according to the params sent by previos page
    copyright 2007, all rights reserved
    ----------------------------------------*/
    //receive params
    if(is_null($_POST['sbmt']) || $_POST['sbmt']==""){
    echo "提交错误!";
    exit();
    }
    $dbname=$_POST['dbname'];
    $hostname=$_POST['hostname'];
    $username=$_POST['logname'];
    $password=$_POST['dbpwd'];
    $tbprefix=$_POST['prefix'];//validate the conn str
    $mysqli=@new mysqli($hostname,$username,$password);
    if(@mysqli_connect_errno()!=0){
    $msg=mysqli_connect_error();
    echo $msg;
    echo "<br/>连接字符串有问题,请重新检查!";
    exit();
    }
    if(!@$mysqli->select_db($dbname)){
    $str="create database $dbname";
    if(!@$mysqli->query($str)){
    echo "数据库服务器虽然连接正常,但创建数据库出现了问题!";
    }
    }
    echo "数据库创建成功";
    //----------function createTb()------------//
    $tbmsg=<<<TB
    create table {$tbprefix}users(userid smallint auto_increment,username varchar(20) not null,password varchar(32) not null,regdate datetime,primary key(userid));
    TB;
    if(!@$mysqli->query($tbmsg)){
    echo "创建表有误";
    }
    echo "创建表成功!";
    ?>
      

  3.   

    jackydrl  多谢谢了 我想要的就是这个  但是不个问题啊 就是我运行了一下 建表的时候出错  要重新再运行一下才能成功这是为什么啊   再指教下吧  多谢了
      

  4.   

    安装啊...看下discuz的install.php文件吧
    很nb...不过有一个function runquery(),有一个createtable()就够用了,提取出来就能用了
      

  5.   

    <?php
    require("connect.php");
    $sqlfile = 'com.sql';$fp = fopen($sqlfile, 'rb');
    $filesize=filesize($sqlfile);
    $sql = fread($fp, $filesize);
    fclose($fp);
    runquery($sql);function runquery($sql) {
    global $lang, $dbcharset, $tablepre, $db; $sql = str_replace("\r", "\n", str_replace(' cdb_', ' '.$tablepre, $sql));
    $ret = array();
    $num = 0;
    foreach(explode(";\n", trim($sql)) as $query) {
    $queries = explode("\n", trim($query));
    foreach($queries as $query) {
    $ret[$num] .= $query[0] == '#' || $query[0].$query[1] == '--' ? '' : $query;
    }
    $num++;
    }
    unset($sql); foreach($ret as $query) {
    $query = trim($query);
    if($query) {
    if(substr($query, 0, 12) == 'CREATE TABLE') {
    $name = preg_replace("/CREATE TABLE ([a-z0-9_]+) .*/is", "\\1", $query);
    echo $lang['create_table'].' '.$name.' ... <font color="#0000EE">'.$lang['succeed'].'</font><br>';
    mysql_query(createtable($query, $dbcharset));
    } else {
    mysql_query($query);
    }
    }
    }
    }
    function createtable($sql, $dbcharset) {
    $type = strtoupper(preg_replace("/^\s*CREATE TABLE\s+.+\s+\(.+?\).*(ENGINE|TYPE)\s*=\s*([a-z]+?).*$/isU", "\\2", $sql));
    $type = in_array($type, array('MYISAM', 'HEAP')) ? $type : 'MYISAM';
    return preg_replace("/^\s*(CREATE TABLE\s+.+\s+\(.+?\)).*$/isU", "\\1", $sql).
    (mysql_get_server_info() > '4.1' ? " ENGINE=$type DEFAULT CHARSET=$dbcharset" : " TYPE=$type");
    }
    ?>应该可以用..不过没显示..从discuz5的install.php提取
    我的安装都不用createtable(),但是好像从phpmyadmin里倒出的语句要用这个函数
      

  6.   

    我用了 justicesun  的方法 可是在运行的时候只是在页面上打印出了 com.sql 里的语句
    如 :
    CREATE TABLE `test_admin` ( `adminid` int(11) NOT NULL auto_increment, `adminname` varchar(25) NOT NULL, `password` varchar(32) NOT NULL, PRIMARY KEY (`adminid`)) TYPE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ... 
    这样数据库中没有建表啊 
    这是为什么啊  
    是我用的不对吗??
      

  7.   

    <?php
    require("connect.php");
    $sqlfile = 'computer.sql';$fp = fopen($sqlfile, 'rb');
    $filesize=filesize($sqlfile);
    $sql = fread($fp, $filesize);
    fclose($fp);
    runquery($sql);function runquery($sql) {
        global $lang, $tablepre, $db;    $sql = str_replace("\r", "\n", $sql);
        $ret = array();
        $num = 0;
        foreach(explode(";\n", trim($sql)) as $query) {
            $queries = explode("\n", trim($query));
            foreach($queries as $query) {
                $ret[$num] .= $query[0] == '#' || $query[0].$query[1] == '--' ? '' : $query;
            }
            $num++;
        }
        unset($sql);    foreach($ret as $query) {
            $query = trim($query);
            if($query) 
                    mysql_query($query);
        }
    }
    继续研究中...这个貌似行
      

  8.   

    good.
    我最近想把我用的后台程序install 版的,收集了一下大家的思路。、
    谢谢了。
      

  9.   

    justicesun  不好意思啊   你的方法很好用  是我自己弄错了点东西   谢谢了  
    也谢谢jackydrl的帮忙