کمک نوشتن sql

sz1370

تازه وارد
سلام بچه ها من این کدو برای ساخت دیتا بیس که هر کاربری که لاگین میکنه واسش یک دیتا بیس (فایل config) ساخته شه نوشتم ولی مشکل داره. میشه بگید مشکلش چیه یا یک کد ساده تر یگبد

<?php

$completed = false;

$error_mg = array();

if($_POST['submit1'])

{

$database_host = isset($_POST['database_host'])?$_POST['database_host']:"";

$database_name = isset($_POST['database_name'])?$_POST['database_name']:"";

$database_username = isset($_POST['database_username'])?$_POST['database_username']:"";

$database_password = isset($_POST['database_password'])?$_POST['database_password']:"";

$pe = mysql_connect ($database_host, $database_username, $database_password);

mysql_select_db ($database_name, $pe);

if (empty($database_host)){

$error_mg[] = "Database host can not be empty! Please re-enter.";

}

if (empty($database_name)){

$error_mg[] = "Database name can not be empty! Please re-enter.";

}

if (empty($database_username)){

$error_mg[] = "Database username can not be empty! Please re-enter.";

}

if (empty($database_password)){

$error_mg[] = "Database password can not be empty! Please re-enter.";

}

if(empty($error_mg)){

$config_file = file_get_contents("config.default");

$config_file = str_replace("_DB_HOST_", $database_host, $config_file);

$config_file = str_replace("_DB_NAME_", $database_name, $config_file);

$config_file = str_replace("_DB_USER_", $database_username, $config_file);

$config_file = str_replace("_DB_PASSWORD_", $database_password, $config_file);

$f = @fopen("config.inc.php", "w+");

if (@fwrite($f, $config_file) > 0){

$link = @mysql_connect($database_host, $database_username, $database_password);

if($link){

if (@mysql_select_db($database_name)) {

if(false == ($db_error = apphp_db_install($database_name, $sql_file))){

@unlink("config.inc.php");

}else{

// additional operations, like setting up admin passwords etc.

// ...

$completed = true;

}

} else {

$error_mg[] = "Database connecting error! Check your database exists.</span><br/>";

@unlink("config.inc.php");

}

} else {

$error_mg[] = "Database connecting error! Check your connection parameters.</span><br/>";

@unlink("config.inc.php");

}

} else {

$error_mg[] = "Can not open configuration file "."config.inc.php";

}

@fclose($f);

}

}

?>

<?php

function apphp_db_install($database_name, $sql_file) {

$db_error = false;

if (!@apphp_db_select_db($database_name)) {

if (@apphp_db_query('create database ' . $database_name)) {

apphp_db_select_db($database_name);

} else {

$db_error = mysql_error();

return false;

}

}

if (!$db_error) {

if (file_exists($sql_file)) {

$fd = fopen($sql_file, 'rb');

$restore_query = fread($fd, filesize($sql_file));

fclose($fd);

} else {

$db_error = 'SQL file does not exist: ' . $sql_file;

return false;

}

$sql_array = array();

$sql_length = strlen($restore_query);

$pos = strpos($restore_query, ';');

for ($i=$pos; $i<$sql_length; $i++) {

if ($restore_query[0] == '#') {

$restore_query = ltrim(substr($restore_query, strpos($restore_query, "\n")));

$sql_length = strlen($restore_query);

$i = strpos($restore_query, ';')-1;

continue;

}

if ($restore_query[($i+1)] == "\n") {

for ($j=($i+2); $j<$sql_length; $j++) {

if (trim($restore_query[$j]) != '') {

$next = substr($restore_query, $j, 6);

if ($next[0] == '#') {

// find out where the break position is so we can remove this line (#comment line)

for ($k=$j; $k<$sql_length; $k++) {

if ($restore_query[$k] == "\n") break;

}

$query = substr($restore_query, 0, $i+1);

$restore_query = substr($restore_query, $k);

// join the query before the comment appeared, with the rest of the dump

$restore_query = $query . $restore_query;

$sql_length = strlen($restore_query);

$i = strpos($restore_query, ';')-1;

continue 2;

}

break;

}

}

if ($next == '') { // get the last insert query

$next = 'insert';

}

if ( (eregi('create', $next)) || (eregi('insert', $next)) || (eregi('drop t', $next)) ) {

$next = '';

$sql_array[] = substr($restore_query, 0, $i);

$restore_query = ltrim(substr($restore_query, $i+1));

$sql_length = strlen($restore_query);

$i = strpos($restore_query, ';')-1;

}

}

}

for ($i=0; $i<sizeof($sql_array); $i++) {

apphp_db_query($sql_array[$i]);

}

return true;

} else {

return false;

}

}

function apphp_db_select_db($database_name) {

return mysql_select_db($database_name);

}

function apphp_db_query($query) {

global $link;

$res=mysql_query($query, $link);

return $res;

}

?>

 
بالا