|
|
|
| Какая функция php позволяет сделать дамп базы данных? | |
|
|
|
|
|
|
|
для: xxxleoxxx
(05.11.2007 в 15:08)
| | В php нет такой функции, есть в MySQL. | |
|
|
|
|
|
|
|
для: sim5
(05.11.2007 в 16:03)
| | ну да я это и имел ввиду. Но как реализовать это с помощью php? В phpmyadmin это же как то реализовано, да и на некотрых сайтах я такое видел. | |
|
|
|
|
|
|
|
для: xxxleoxxx
(05.11.2007 в 16:06)
| | Послать соответсвующий запрос в MySQL. | |
|
|
|
|
|
|
|
для: sim5
(05.11.2007 в 16:15)
| | //Создаем дамп базы данных.
$query1 = "mysqldump sklad > archive_data\'$dirname'\sqldamp1.sql";
if(mysql_query($query1)) echo "Дамп таблицы выполнен успешно";
else echo "При создании дампа таблицы возникла ошибка!";
Выдает следующие ошибки
Warning: mysql_query(): Access denied for user 'ODBC'@'localhost' (using password: NO) in c:\apache_swissknife\сайты\localhost01\html\programm\newmonth.php on line 46
Warning: mysql_query(): A link to the server could not be established in c:\apache_swissknife\сайты\localhost01\html\programm\newmonth.php on line 46
При создании дампа таблицы возникла ошибка!
46 линия - if(mysql_query($query1)) echo "Дамп таблицы выполнен успешно"; | |
|
|
|
|
|
|
|
для: sim5
(05.11.2007 в 16:15)
| | логично.. какой? я бы тлже не прочь узнать =) | |
|
|
|
|
|
|
|
для: bronenos
(05.11.2007 в 16:20)
| | >$query1 = "mysqldump sklad >.... - это круто :)
Я говорил об операторе SHOW. РМА вроде бы тоже через него дампы делает. | |
|
|
|
|
|
|
|
для: sim5
(05.11.2007 в 17:00)
| | ну извиняюсь. не профессионал:)
Вы не могли бы подробнее описать как воспользоваться оператором? | |
|
|
|
|
|
|
|
для: xxxleoxxx
(05.11.2007 в 17:13)
| | Не пользовался им (не было надобности), но "умная книга" говорит:
SHOW CREATE TABLE tableName - покажет вам структру запроса CREATE TABLE для указанной таблицы.
Если посмотреть скрипты РМА (вот в этом была однажды необходимость), то увидите этот запрос при экспорте:
<?
$result = PMA_DBI_query('SHOW CREATE TABLE ' . PMA_backquote($db) . '.' . PMA_backquote($table), NULL, PMA_DBI_QUERY_UNBUFFERED);
if ($result != FALSE && ($row = PMA_DBI_fetch_row($result))) {
$create_query = $row[1];
unset($row);
|
| |
|
|
|
|
|
|
|
для: sim5
(05.11.2007 в 17:21)
| | вопрос однако остается открытым... | |
|
|
|
|
|
|
|
для: xxxleoxxx
(05.11.2007 в 17:52)
| | А попробовать выпонить лень?
<?
$create_query = '';
$result = mysql_query("SHOW CREATE TABLE table") or die (mysql_error());
if ($result != FALSE && ($row = mysql_fetch_row($result))) {
$create_query = $row[1];
unset($row);
}
print $create_query;
?>
|
Попробуйте, ну ничем не рискуете. | |
|
|
|
|
|
|
|
для: sim5
(05.11.2007 в 18:10)
| | Parse error: parse error, unexpected T_STRING in c:\apache_swissknife\сайты\localhost01\html\programm\newmonth.php on line 47
47 - $result = mysql_query(SHOW CREATE TABLE sklad) or die (mysql_error()); | |
|
|
|
|
|
|
|
для: xxxleoxxx
(05.11.2007 в 18:18)
| | Заключите в кавычки 'SHOW CREATE TABLE sklad' | |
|
|
|
|
|
|
|
для: sim5
(05.11.2007 в 18:20)
| | CREATE TABLE `svod` ( `npp` int(11) NOT NULL auto_increment, `fio` text, `zvanie` text, `podrazd` text, `osnovan` text, `osnovan2` text, `nkmp` int(11) default NULL, `sum` int(11) default NULL, `date` text, PRIMARY KEY (`npp`) ) ENGINE=MyISAM DEFAULT CHARSET=cp1251
Это уже что то. Но как дальше???? Я извинясь за глупые вопросы, с sql знаком неделю:) | |
|
|
|
|
|
|
|
для: xxxleoxxx
(05.11.2007 в 18:23)
| | Дальше что? Что вам нужно? Сохранить этот дамп? | |
|
|
|
|
|
|
|
для: sim5
(05.11.2007 в 18:26)
| | мне нужно сохранить содержание таблицы. Я правильно понимаю это веди и называется дамп? | |
|
|
|
|
|
|
|
для: xxxleoxxx
(05.11.2007 в 18:30)
| | Да, это и есть дамп. Тогда просто дописать:
<?
$f = fopen("path/tableName.sql","w");
fputs($f, $create_query);
fclose($f);
|
tableName.sql - будет содержать дамп таблицы. | |
|
|
|
|
|
|
|
для: sim5
(05.11.2007 в 18:35)
| | Да. Это сохраняет то что вывел скрипт на экран. Команды создания таблицы. Но содержимого таблицы это выводит((( | |
|
|
|
|
|
|
|
для: xxxleoxxx
(05.11.2007 в 18:39)
| | CREATE TABLE `svod` ( `npp` int(11) NOT NULL auto_increment, `fio` text, `zvanie` text, `podrazd` text, `osnovan` text, `osnovan2` text, `nkmp` int(11) default NULL, `sum` int(11) default NULL, `date` text, PRIMARY KEY (`npp`) ) ENGINE=MyISAM DEFAULT CHARSET=cp1251 | |
|
|
|
|
|
|
|
для: xxxleoxxx
(05.11.2007 в 18:39)
| | Ну дальше надо разбирать "полеты". Ну что мне сесть за изучение этого вопроса? Посмотрите скрипты РМА. Посмотрите РНР функции работы с MySQL, вам ведь только и осталось забрать из базы и записать:
INSERT INTO `table` (`field1`, `field2`, `field3`, `field4`, ...) VALUES
(value1, value2, value3, value4,...),... и т.д..
|
Кстати, имена полей и их типы, можно получить и РНР функциями работы с MySQL. | |
|
|
|