Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Экспортирование таблицы

Сообщения:  [1-3] 

 
 автор: Trianon   (14.11.2006 в 10:15)   письмо автору
 
   для: cheops   (14.11.2006 в 00:29)
 

Крайне занимательный скрипт.

Впечатление такое, что кроме TEXT и DATETIME, автору неарифметические типы данных не известны вообще.
Про экранирование, BLOB и кодировки можно даже не вспоминать.
Вот фрагмент из дампа.
create table resfiles (id int(11)  auto_increment, fname varchar(255)  , obj longblob  , stamp timestamp  , attribs varchar(10)  ,  Primary key (id)) type=myisam;


insert into resfiles values(6, yandex.url, [InternetShortcut]
URL=http://www.yandex.ru
, 2003-01-08 05:37:00, N);
insert into resfiles values(7, ie.lnk, я╗┐21#\windows\iesample.exe, 2003-01-08 05:37:00, N);

Между прочим, скрипт восстановления будет считать, что в нем 4 записи.


Для того, чтобы сделать скрипт хоть сколько-нибудь полезным, я изменил в файле restore.php два места.
Фрагмент

              if($describe[1]=="datetime" || $describe[1]=="text")
              {
               $kav[$column_num]=1;
              }
              else
              {
               $kav[$column_num]=0;
              }

              $column_num++;

на фрагмент
      $type = explode('(', $describe['Type']);
      $kav[$column_num++]= !in_array($type[0], 
        array('bit','tinyint','smallint','mediumint','int',
                'bigint','float','double','decimal'));

и фрагмент
     for($z=0; $z<$column_num; $z++)
      {
          if($z<($column_num-1))
          {
             if($kav[$z]==1)
             {
               $column_string=$column_string."'".$column[$z]."', ";
             }
             else
             {
               $column_string=$column_string.$column[$z].", ";
             }
          }
          else
          {
             if($kav[$z]==1)
             {
               $column_string=$column_string."'".$column[$z]."'";
             }
             else
             {
               $column_string=$column_string.$column[$z];
             }
          }

      }

на фрагмент
     for($sep = '',$z=0; $z<$column_num; $z++,$sep = ',')
          $column_string .= $sep . ($kav[$z] ? ("'".mysql_escape_string($column[$z])."'") 
                     : $column[$z] );


Это, конечно, в целом проблемы не решает, но так хоть какое-то подобие работающего скрипта...

   
 
 автор: cheops   (14.11.2006 в 00:29)   письмо автору
 
   для: Roo$   (13.11.2006 в 21:30)
 

Возможно вас заинтересует скрипт http://www.softtime.ru/info/wallistworkbd.php.

   
 
 автор: Roo$   (13.11.2006 в 21:30)   письмо автору
 
 

Как можно программным путем экспортировать таблицу со всеми ее данными?

   

Сообщения:  [1-3] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования