|
|
|
| как экспортировать этот дамп в базу через PHP скрипт | |
|
|
|
|
|
|
|
для: Ozxar
(12.11.2004 в 02:16)
| | Извените за флуд, это случайная ошибка, :) | |
|
|
|
|
|
|
|
для: Ozxar
(12.11.2004 в 02:16)
| | Вам единоразово надо? Или чтобы постоянно из такого дампа импортить.
Единоразово очень легко.
Пишете скрипт подключения к базе:
<?php
$dblocation = "localhost";
$dbname = "ваша база";
$dbuser = "ваш логин";
$dbpasswd = "ваш пароль";
$dbcnx = @mysql_connect($dblocation,$dbuser,$dbpasswd);
if (!$dbcnx) {
echo( "<P>В настоящий момент сервер базы данных не доступен, поэтому корректное отображение страницы невозможно.</P>" );
exit();
}
if (! @mysql_select_db($dbname,$dbcnx) ) {
echo( "<P>В настоящий момент база данных не доступна, поэтому корректное отображение страницы невозможно.</P>" );
exit();
}
?>
|
И с каждой строкой делаете вот такую вещь.
<?
$query="CREATE TABLE 'admin' (
'id' int(11) NOT NULL auto_increment,
'login' varchar(25) NOT NULL default '',
'pass' varchar(15) NOT NULL default '',
'admin' set('disign','news','dipl','users','all') NOT NULL default '',
'email' varchar(255) NOT NULL default '',
'never_name' varchar(255) NOT NULL default '',
'city' varchar(255) NOT NULL default '',
'status' varchar(255) NOT NULL default '',
'info' text NOT NULL,
'site' varchar(255) NOT NULL default '',
'avatar' varchar(255) NOT NULL default '',
'realname' varchar(255) NOT NULL default '',
PRIMARY KEY ('login'),
UNIQUE KEY 'login' ('login'),
UNIQUE KEY 'id' ('id')
) TYPE=MyISAM AUTO_INCREMENT=3 ;";
if (mysql_query($query)) echo "ОК";
else echo "Ошибка при выполнении запроса";
?>
|
Т.е. заносите в переменную $query="--строка---";
И выполняете mysql_query($query)
И так со всеми строками. | |
|
|
|
|
|
|
|
для: glsv (Дизайнер)
(12.11.2004 в 02:45)
| | а если с дампа? | |
|
|
|
|
|
|
|
для: Ozxar
(13.11.2004 в 23:42)
| | Тут нужно писать анализатор дампа….
Может быть проще использовать phpMyAdmin? Или он не доступен?
Последовательность действий примерно такая:
1. Читаем файл.
2. Все закомментированные строки отбрасываем
Посмотрел все дампы под рукой…
И вроде бы схема такая: все строки дампа представляют собой отдельные SQL-команды (за исключением команды CREATE).
3. Для отдельных SQL-команд читаем строку в переменную $query и выполняем функцией mysql_query($query)
4. Для команды CREATE схема будет другая.
Если в читаемой строке есть подстрока "CREATE", то читаем следующие строки тех пор пока не встретим символ ; (точка с запятой) и поле этого выполняем mysql_query($query)
PS: можно каждую строку проверять на наличие символа ; (точка с запятой)
Если символа нет, то читать следующую строку (складывая с предыдущей), если символ найден, то выполнять mysql_query() | |
|
|
|