Heim  >  Artikel  >  Backend-Entwicklung  >  PHP erstellt und schreibt SQL-Datenbankdateien in die Bibliothek

PHP erstellt und schreibt SQL-Datenbankdateien in die Bibliothek

不言
不言Original
2018-04-21 09:37:482425Durchsuche

这篇文章介绍的内容是关于PHP创建写入sql数据库文件到库中,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

/导入数据表
        $sqldata=file_get_contents(APP_PATH . 'install/data/mysql.sql');
        $sqlFormat = $this->sql_split($sqldata, $dbpre);//$dbpre为数据表前缀如:yy_ 、tp_等
        //创建写入sql数据库文件到库中 结束


/**
         * 执行SQL语句
         */
        $counts = count($sqlFormat);
        $n = intval($n);
        for ($i = 0; $i < $counts; $i++) {
            $sql = trim($sqlFormat[$i]);
            if (strstr($sql, &#39;CREATE TABLE&#39;)) {
                preg_match(&#39;/CREATE TABLE `([^ ]*)`/&#39;, $sql, $matches);
                mysqli_query($conn,"DROP TABLE IF EXISTS `$matches[1]");
                $ret = mysqli_query($conn,$sql);
                if ($ret) {
                    $message = &#39;<li><span class="correct_span">√</span>创建数据表&#39; . $matches[1] . &#39;,完成!<span style="float: right;">&#39;.date(&#39;Y-m-d H:i:s&#39;).&#39;</span></li> &#39;;
                } else {
                    $message = &#39;<li><span class="correct_span error_span">√</span>创建数据表&#39; . $matches[1] . &#39;,失败!<span style="float: right;">&#39;.date(&#39;Y-m-d H:i:s&#39;).&#39;</span></li>&#39;;
                }
            } else {
                if(trim($sql) == &#39;&#39;)
                    continue;
                $ret = mysqli_query($conn,$sql);
              
            }
        }



function sql_split($sql, $tablepre) {
    if ($tablepre != "yy_")
        $sql = str_replace("yy_", $tablepre, $sql);

    $sql = preg_replace("/TYPE=(InnoDB|MyISAM|MEMORY)( DEFAULT CHARSET=[^; ]+)?/", "ENGINE=\\1 DEFAULT CHARSET=utf8", $sql);

    $sql = str_replace("\r", "\n", $sql);
    $ret = array();
    $num = 0;
    $queriesarray = explode(";\n", trim($sql));
    unset($sql);
    foreach ($queriesarray as $query) {
        $ret[$num] = &#39;&#39;;
        $queries = explode("\n", trim($query));
        $queries = array_filter($queries);
        foreach ($queries as $query) {
            $str1 = substr($query, 0, 1);
            if ($str1 != &#39;#&#39; && $str1 != &#39;-&#39;)
                $ret[$num] .= $query;
        }
        $num++;
    }
    return $ret;
}

相关推荐:

php创建微信公众号管理系统

PHP创建水印



Das obige ist der detaillierte Inhalt vonPHP erstellt und schreibt SQL-Datenbankdateien in die Bibliothek. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn