PHP は SQL データベース ファイルを作成してライブラリに書き込みます

不言
リリース: 2023-03-24 15:02:02
オリジナル
2488 人が閲覧しました

这篇文章介绍的内容是关于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创建水印



以上がPHP は SQL データベース ファイルを作成してライブラリに書き込みますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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