⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sql.php

📁 极限网络智能办公系统—MYOA26—100%—源程序。
💻 PHP
字号:
<?php

function split_sql_file( $sql, $delimiter = ";" )
{
	$sql = trim( $sql );
	$char = "";
	$last_char = "";
	$ret = array( );
	$string_start = "";
	$in_string = FALSE;
	$escaped_backslash = FALSE;
	$i = 0;
	for ( ;	$i < strlen( $sql );	++$i	)
	{
		$char = $sql[$i];
		if ( $char == $delimiter && !$in_string )
		{
			$ret[] = substr( $sql, 0, $i );
			$sql = substr( $sql, $i + 1 );
			$i = 0;
			$last_char = "";
		}
		if ( $in_string )
		{
			if ( $char == "\\" )
			{
				if ( $last_char != "\\" )
				{
					$escaped_backslash = FALSE;
				}
				else
				{
					$escaped_backslash = !$escaped_backslash;
				}
			}
			if ( $char == $string_start && ( $char == "`" || !( $last_char == "\\" && !$escaped_backslash ) ) )
			{
				$in_string = FALSE;
				$string_start = "";
			}
		}
		else if ( $char == "\"" || $char == "'" || $char == "`" )
		{
			$in_string = TRUE;
			$string_start = $char;
		}
		$last_char = $char;
	}
	if ( !empty( $sql ) )
	{
		$ret[] = $sql;
	}
	return $ret;
}

include_once( "inc/auth.php" );
ob_implicit_flush( );
echo str_repeat( " ", 512 );
echo "\r\n<html>\r\n<head>\r\n<title>数据库导入/升级</title>\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\">\r\n</head>\r\n\r\n<body class=\"bodycolor\" topmargin=\"5\">\r\n\r\n<table border=\"0\" width=\"100%\" cellspacing=\"0\" cellpadding=\"3\" class=\"small\">\r\n  <tr>\r\n    <td class=\"Big\"><img src=\"/images/sys_config.gif\" align=\"absmiddle\">";
echo "<s";
echo "pan class=\"big3\"> 数据库导入/升级</span><br>\r\n    </td>\r\n  </tr>\r\n</table>\r\n\r\n<br>\r\n\r\n";
$tables = @fread( $fp = @fopen( $sql_file, "r" ), @filesize( $sql_file ) );
@fclose( $fp );
if ( !$tables )
{
	message( "", "对不起,无法读取数据库导入文件 {$sql_file} 。" );
	exit( );
}
$querys = split_sql_file( $tables );
$connection = openconnection( );
$ERROR_COUNT = 0;
foreach ( $querys as $query )
{
	preg_match( "/CREATE TABLE `([a-z0-9_]+)`/i", $query, $tmp );
	$tableName = $tmp[1];
	if ( exequery( $connection, $query ) )
	{
		if ( $tableName )
		{
			message( "", "成功建立表格 {$tableName}" );
		}
	}
	else
	{
		message( "数据导入/升级出现错误", "错误原因:".mysql_error( )."<br><br>错误语句:{$query}" );
		++$ERROR_COUNT;
	}
}
$STR = "数据库导入/升级完成!";
if ( 0 < $ERROR_COUNT )
{
	$STR .= "<br>共发生".$ERROR_COUNT."次错误!";
}
else
{
	$STR .= "<br>全部导入/升级成功!";
}
message( "", $STR );
button_back( );
?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -