php写入sql,PHP创建写入sql数据库文件到库中

这篇文章介绍的内容是关于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, 'CREATE TABLE')) {

preg_match('/CREATE TABLE `([^ ]*)`/', $sql, $matches);

mysqli_query($conn,"DROP TABLE IF EXISTS `$matches[1]");

$ret = mysqli_query($conn,$sql);

if ($ret) {

$message = '

创建数据表' . $matches[1] . ',完成! '.date('Y-m-d H:i:s').' ';

} else {

$message = '

创建数据表' . $matches[1] . ',失败! '.date('Y-m-d H:i:s').'';

}

} else {

if(trim($sql) == '')

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] = '';

$queries = explode("\n", trim($query));

$queries = array_filter($queries);

foreach ($queries as $query) {

$str1 = substr($query, 0, 1);

if ($str1 != '#' && $str1 != '-')

$ret[$num] .= $query;

}

$num++;

}

return $ret;

}

相关推荐:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值