Forum. MyNuke.ru
Forum. MyNuke.ruСообщения за сегодняПерсональные сообщения

Навигация  
Вернуться   Forum. MyNuke.ru > Учимся > PHP&MySQL
Ник
Пароль
Ответ
 
Опции темы Поиск в этой теме Опции просмотра
MO-HAX вне форума      Старый Перенос таблиц MySQL #1  
MO-HAX
Новенький
Регистрация: 20.01.2007
Сообщения: 1


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для MO-HAX Найти все сообщения от MO-HAX Добавить MO-HAX в список друзей  
20.01.2007, 23:33

господа помгите плз. нуже пример скрипта, чтобы переносил таблица из отдной базы в другую (идентичную) стоит нюка 6.8 хочу 8.0. , пропатчить не могу до 8.0 глючит, вот и хочу базу перенести

Astrix вне форума      Старый #2  
Аватара для Astrix
Astrix
Бывалый
Регистрация: 09.01.2007
Сообщения: 309


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для Astrix Посетить домашнюю страницу Astrix Найти все сообщения от Astrix Добавить Astrix в список друзей  
21.01.2007, 17:51

щас попробую что-нить наваять. результат выложу

Astrix вне форума      Старый #3  
Аватара для Astrix
Astrix
Бывалый
Регистрация: 09.01.2007
Сообщения: 309


Пожаловаться на это сообщениеОтветить с цитированием

Посмотреть профиль Отправить персональное сообщение для Astrix Посетить домашнюю страницу Astrix Найти все сообщения от Astrix Добавить Astrix в список друзей  
21.01.2007, 19:18

Час работы и вот что у меня получилось (просьба сразу камнями не закидывать):

PHP код:
<?
$prefix 
"nuke_";
//Список таблиц в базе
$tables_list  "authors,autonews,banned_ip,banner,clients,plans,ba  nner_positions,banner_terms,bbauth_access,bbbanlis  t,"
."bbcategories,bbconfig,bbdisallow,bbforum_prune,bbf  orums,bbgroups,bbposts,bbposts_text,bbprivmsgs,"
."bbprivmsgs_text,bbranks,bbsearch_results,bbsearch_  wordlist,bbsearch_wordmatch,bbsessions,bbsessions_  keys,"
."bbsmilies,bbthemes,bbthemes_name,bbtopics,bbtopics  _watch,bbuser_group,bbvote_desc,bbvote_results,"
."bbvote_voters,bbwords,blocks,cities,comments,comme  nts_moderated,config,confirm,counter,"
."downloads_categories,downloads_downloads,downloads  _editorials,downloads_modrequest,downloads_newdown  load,"
."downloads_votedata,encyclopedia,encyclopedia_text,  faqanswer,faqcategories,groups,groups_points,headl  ines,journal,"
."journal_comments,journal_stats,links_categories,li  nks_editorials,links_links,links_modrequest,links_  newlink,"
."links_votedata,main,message,modules,optimize_gain,  pages,pages_categories,,poll_check,poll_data,poll_  desc,pollcomments,"
."pollcomments_moderated,public_messages,queue,refer  er,related,reviews,reviews_add,reviews_comments,"
."reviews_comments_moderated,reviews_main,session,st  ats_date,stats_hour,stats_month,stats_year,stories  ,stories_cat,"
."subscriptions,topics,users,users_temp";

$tables explode","$tables_list ); 

$user "username";
$pass "password";
$host "localhost";
$db1 "db1_name"//Исходная база данных
$db2 "db2_name"//Конечная база данных

@mysql_connect($host$user$pass) or die ('Не могу сконнектиться с сервером');

@
mysql_select_db($db1) or die ('Не могу выбрать базу данных 1');


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

 
$sql "SELECT * FROM "$prefix $tables[$i] . "";

 if (
$result=mysql_query($sql)) {

  while (
$rows[] = mysql_fetch_row($result)) {}

  @
mysql_select_db($db2) or die ('Не могу выбрать базу данных 2'); 

  
//Удаляем старые записи из таблицы
  
$sql "DELETE FROM "$prefix $tables[$i] . "";
  @
mysql_query($sql);  

  for (
$j ;$j<sizeof($rows)-1$j++) {  

   
$row $rows[$j]; 
   
$values '';      

   while (list(
$key$val) = each ($row)) {  

    
$values .=" '" .addslashes($val). "'";      
    
$values .= ($key sizeof($row)-1) ? "," ""
   }

   
$sql "INSERT INTO "$prefix $tables[$i] . " VALUES ($values)";

   echo (
$sql " <br>"  sizeof($row) . "<br>");

   if (!
$result=mysql_query($sql)) {      
    die (
'ошибка записи в конечную базу данных');
   }
  }
 }

 unset (
$rows);
 @
mysql_select_db($db1) or die ('Не могу выбрать базу данных 1');
}
?>


Просьба при передаче третьим лицам данного скрипта указывать авторство. Мой E-mail: hack6666@mail.ru

Обязательно сверьте содержимое переменной $tables_list со списком таблиц в вашей БД!
При любом несовпадении структуры, имени таблицы или названий полей работа скрипта может быть некорректной.
Поэтому опробуйте его на резервной копии вашей базы данных на локальной машине и ТОЛЬКО потом на сервере!

Удачи!

P. S.
Если у кого есть предложения по усовершенствованию даного скрипта, с радостью приму все к сведению!

При загрузке скрипта почему-то появились разрывы в строках переменной $tables_list
Их там не должно быть - учтите пожалуйста это!

Ответ


Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.
Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
в бд не обнаружено таблиц sonny3 Установка 1 06.09.2006 12:18
Проблема с MySQL Harm Установка 16 15.08.2006 01:08
от таблиц к строкам имассивам Kxu PHP&MySQL 2 07.07.2006 15:50
MySQL Fermax Установка 10 01.04.2006 15:00
Не устанавливается база в MySQL worm Установка 4 17.03.2005 16:41


Часовой пояс GMT +4, время: 04:05.


На Верх
Рейтинг@Mail.ru