Как пишется инстал?

robinner

Новичок
Как пишется инстал?

Всем привет. Вот решил написать install.php чтобы пользователь не просил меня, а мог сам создать БД...
Чтобы пароль , имя пользователя и имя базыданных он задавал.
а после этого выводилось текстарэа в который вводится дамп или окно выбора файла дамп...
Вот не могу решить с чего начать, потому что не знаю как организовывается подобное.Я привык все вручную меня в файлах, но пользователь не знает как это делать.а писать инструкцию, как-то неудобно.

кто что думает по этому вопросу, ответьте ,пожалуйста
 

Фанат

oncle terrible
Команда форума
А в чем проблема-то?
Не получается в mysql_connect() подставить $_POST['login'] вместо
$login?
 

robinner

Новичок
Нет, в этом нет проблемы, но когда будет создаваться БД пароль и имя пользователя можно установить?Вот я вот это что-то не могу догнать
 

Фанат

oncle terrible
Команда форума
что значит "установить"?
с каких пор у юзера есть права на создание БД и пользователя?

у него спрашивают готовые. те, которые ему хостер дал
 

robinner

Новичок
Вот...
Вот это я и хотел узнать. А дамп как можно загрузить?
 

Фанат

oncle terrible
Команда форума
дамп - это просто набор SQL запросов.
их можно выполнить по очереди
 

robinner

Новичок
А вот так можно?
mysql_create_db(".$_POST['login']."));
$damp = fopen("damp.text", "r");
mysql_query($damp);
 

Фанат

oncle terrible
Команда форума
нет.
слово дамп пишется как dUmp
в переменной $damp не будет никаких запросов
mysql_query умеет выполнять только один запрос за раз
 

dimagolov

Новичок
кроме того, размер файла с дампом может легко превысить все допустимые лимиты оперативной памяти.
 

robinner

Новичок
Тогда может так?
mysql_create_db($_POST['login']));
$dump = fopen("dump.text", "r");
$create = explode("CREATE", $dump);
$count = count($create)-1;
for($i=0;$i=$count;$i++)
{
$insert = explode("INSERT", $create[$i]);
}
for($i=0;$i=$count;$i++)
{
mysql_query('CREATE'.$create[$i]);
}
for($i=0;$i=$count;$i++)
{
mysql_query('INSERT'.$insert[$i]);
}

-~{}~ 12.03.10 17:28:

Ну и туда еще добавить если нет инсерта в таблицу, то этот запрос пропускать
 

dimagolov

Новичок
Тогда может так?
а ты попробуй. только вместо mysql_query поставь echo '<br/>'.

если дамп гарантированно мал, то есть другая ф-я, которая умеет исполнять несколько запросов.
 

robinner

Новичок
Уже пробую

-~{}~ 12.03.10 17:46:

Что-то у меня даже БД не создается

-~{}~ 12.03.10 18:02:

mysql_pconnect("localhost", "root", "");
mysql_create_db("database");
почему оно не работает?Все как в книге

Call to undefined function mysql_create_db() in D:\wamp\www\install.php on line 26
 

dimagolov

Новичок
robinner, а какая версия php & расширения mysql? что говорит про Client API version в разделе mysql phpinfo?
 

dimagolov

Новичок
странно. должна быть доступна. ты точно не опечатался в имени ф-ии?

кстати, mysql вообще и mysql_pconnect в частности лучше не использовать, а использовать во-первых mysqli, а во-вторых mysqli_connect и явно передавать link в ф-ии.
 

robinner

Новичок
mysql_connect и так пробовал...Опечаток точно нет
mysql_connect("localhost", "root", "");
mysql_create_db("database");
А как явно передать линк?
К серверу подключается, mysql_select_db нормально работает
 

dimagolov

Новичок
robinner, читай ман по mysqli и FAQ

-~{}~ 12.03.10 11:43:

кстати странно, robinner что-то хочет инсталировать, но не знает азов работы с БД. вопрос, что же он собирается инсталировать? то есть скопипастил он чужой код или начинает писать инсталл ДО написания собственно системы?
 

robinner

Новичок
Конечно свой, ну может и не знаю азы...просто я никогда не пользовался этой функцией, я вообще за жизнь только одну админку написал, и то до сих пор модернизирую исправляю и дорабатываю
а по поводу мануала, так я итак по книжке делаю, и не катит почему-то...
буду разбираться, но наверное уже в понедельник или в воскресение, потому что уезжаю на концерт)))
 

cDLEON

Онанист РНРСlub
robinner
Т.е. БД у тебя в скриптах используется, а функцией этой ты не пользовался ? о_О
 
Сверху