Welcome, Guest. Please Login or Register.
November 29, 2024, 04:34:27 AM
Home Help Search Log in Register
News: SMF is the next generation in forum software, almost completely re-written from the ground up, make sure you don't fall for cheap imitations that suffer from feature bloat!

YaBB SE Community  |  German User Help  |  Hilfe zu YaBB SE  |  Datenexport schlägt fehl « previous next »
Pages: [1] Reply Ignore Print
Author Topic: Datenexport schlägt fehl  (Read 2965 times)
snakebyte
Noobie
*
Posts: 17


I'm a llama!

Datenexport schlägt fehl
« on: January 22, 2004, 07:29:54 AM »
Reply with quote

YaBB SE Version: 1.5.4
PHP Version:
MySQL Version:
Server Plattform: Unix, Linux, or BSD
Link zum Forum: www.schlangenforum.info

Problem Beschreibung:
Hi zusammen!

ich kann meine messages nicht exportieren ... mit yabb bekomme ich diesen Fehler:


#
# dumping data 'swforum_messages'
#

# --------------------------------------------------------

#
# Table structure for table 'swforum_polls'
#

DROP TABLE IF EXISTS swforum_polls;

<br />
<b>Fatal error</b>:  Call to undefined function:  mysql_die() in <b>/homepages/0/d75631554/htdocs/schlangenwelt/forum/Sources/dump_database.php</b> on line <b>97</b><br />

Mache ich es mit phpmyadmin über exportieren kriege ich einen internal Servererror ...

Was läuft da schief?

Grüsse

Marcel
Logged
SnowCrash
Full Member
***
Posts: 110


Re:Datenexport schlägt fehl
« Reply #1 on: January 22, 2004, 08:42:28 AM »
Reply with quote

Ersetz in "dump_database.php" mal

   $query = "SHOW FIELDS FROM $tableName";
   $result = mysql_db_query($db_name, $query) or mysql_die();


durch

   $query = "SHOW FIELDS FROM $tableName";
   $result = mysql_db_query($db_name, $query) or database_error(__FILE__, __LINE__);


und schau mal was dann passiert...
Logged

It's better to be hated for who you are
then to be loved for who
you are not...
[/b][/i]
snakebyte
Noobie
*
Posts: 17


I'm a llama!

Re:Datenexport schlägt fehl
« Reply #2 on: January 22, 2004, 08:52:22 AM »
Reply with quote

Was ähnliches:

Table structure for table 'swforum_polls' # DROP TABLE IF EXISTS swforum_polls;
Fatal error: Call to undefined function: mysql_die() in /homepages/0/d75631554/htdocs/schlangenwelt/forum/Sources/dump_database.php on line 98

Ich hoffe, die Datenbank ist nicht kaputt, ich hatte beim konvertieren von Yabb nach Yabbse erst Probleme und die Daten waren nicht in der Datanbase. Nach einem Neuaufbau der Tabellen über Yabb-Admin war aber alles da und es funktioniert auch scheinbar alles.
Logged
SnowCrash
Full Member
***
Posts: 110


Re:Datenexport schlägt fehl
« Reply #3 on: January 22, 2004, 09:07:04 AM »
Reply with quote

Quote from: snakebyte on January 22, 2004, 08:52:22 AM
Was ähnliches:

Table structure for table 'swforum_polls' # DROP TABLE IF EXISTS swforum_polls;
Fatal error: Call to undefined function: mysql_die() in /homepages/0/d75631554/htdocs/schlangenwelt/forum/Sources/dump_database.php on line 98

Ich hoffe, die Datenbank ist nicht kaputt, ich hatte beim konvertieren von Yabb nach Yabbse erst Probleme und die Daten waren nicht in der Datanbase. Nach einem Neuaufbau der Tabellen über Yabb-Admin war aber alles da und es funktioniert auch scheinbar alles.

Die Fehlermeldung kann eigentlich nicht kommen wenn Du das ersetzt hast... in dem File gibt es (zumindest bei mir) nur eine Zeile mit mysql_die... und die sollte weg sein wenn du meine Änderung einbaust...
Logged

It's better to be hated for who you are
then to be loved for who
you are not...
[/b][/i]
SnowCrash
Full Member
***
Posts: 110


Re:Datenexport schlägt fehl
« Reply #4 on: January 22, 2004, 09:22:45 AM »
Reply with quote

Achja... Du könntest folgendes Script:

<?php

   
require_once('Settings.php');

   
$dbcon mysql_connect($db_server$db_user$db_passwd) or die(mysql_error());
   
mysql_select_db($db_name) or die(mysql_error());

   
$sqlquery   'SHOW TABLES';
   
$request    mysql_query($sqlquery) or die(mysql_error());
   while (
$row mysql_fetch_row($request))
      
$tables[]   = $row[0];

   
$sqlqueries   = array();
   
$sqlqueries[]   = 'CHECK TABLE ';
   
$sqlqueries[]   = 'REPAIR TABLE ';
   
$sqlqueries[]   = 'ANALYZE TABLE ';
   
$sqlqueries[]   = 'OPTIMIZE TABLE ';

   foreach   (
$sqlqueries as $curquery)
   {
      foreach   (
$tables as $curtab)
      {
         
$sqlquery   $curquery.$curtab;
         
$request    mysql_query($sqlquery) or die(mysql_error());
         while (
$row mysql_fetch_assoc($request))
         {
            echo 
'<pre>';
            
print_r($row);
            echo 
'</pre>';
         }
      }
   }
   
?>


in eine Datei kopieren und diese ins Hauptverzeichnis von Deinem Forum legen... also da wo auch Deine Settings.php liegt.... wenn Du das Script dann aufrufst versucht es, alle Tabellen aufzuräumen (es werden nur die internen Routinen von MySQL aufgerufen)

Was es genau macht:

OPTIMIZE:

OPTIMIZE TABLE sollte benutzt werden, wenn Sie große Teile der Tabelle gelöscht haben oder bei Tabellen mit Zeilen variabler Länge viele Änderungen durchgeführt haben (Tabellen, die VARCHAR-, BLOB- oder TEXT-Spalten enthalten). Gelöschte Datensätze werden in einer verknüpften Liste vorgehalten, und nachfolgenden INSERT-Operationen benutzen die Positionen alter Datensätze. Sie können OPTIMIZE TABLE benutzen, um unbenutzten Platz freizugeben und die Daten-Datei zu defragmentieren.

ANALYZE:

Analysiert und speichert die Schlüsselverteilung der Tabelle. Während der Analyse ist die Tabelle mit einer Lesesperre gesperrt. Das funktioniert auf MyISAM und BDB-Tabellen.
MySQL benutzt die gespeicherte Schlüsselverteilung, um zu entscheiden, in welcher Reihenfolge Tabellen verknüpft werden sollen, wenn man eine Verknüpfung (Join) auf irgend etwas anderes als eine Konstante macht.

CHECK & REPAIR:

Prüft und repariert die Tabellen.
Logged

It's better to be hated for who you are
then to be loved for who
you are not...
[/b][/i]
snakebyte
Noobie
*
Posts: 17


I'm a llama!

Re:Datenexport schlägt fehl
« Reply #5 on: January 22, 2004, 09:32:31 AM »
Reply with quote

ok, hab deine Datei durchlaufen lassen, aber es geht immer noch nicht

www.schlangenwelt.de/forum/repair.php


#
# dumping data 'swforum_messages'
#

# --------------------------------------------------------

#
# Table structure for table 'swforum_polls'
#

DROP TABLE IF EXISTS swforum_polls;

<br />
<b>Fatal error</b>:  Call to undefined function:  mysql_die() in <b>/homepages/0/d75631554/htdocs/schlangenwelt/forum/Sources/dump_database.php</b> on line <b>97</b><br />


Doch, deine Änderung habe ich durchgeführt - als resultat wurde keine sql-Datei mehr gespeichert, sondern die Tables standen im Browserfenster.

Kann es sein, dass die Table zu groß zum einmaligen Export ist? Muss ich evtl in mehreren Teilen sichern?
« Last Edit: January 22, 2004, 09:33:20 AM by snakebyte » Logged
SnowCrash
Full Member
***
Posts: 110


Re:Datenexport schlägt fehl
« Reply #6 on: January 22, 2004, 09:51:24 AM »
Reply with quote

Hmmm.... komisch...

Also die Ausgabe von dem Repair-Script sieht gut aus...

Und so gross ist Deine DB nicht... zumindest von der Anzahl Thread/Postings her...

Ich könnte Dir noch ne geänderte dump_database anbieten...

Es müsste prinzipiell gehen das man die ganze getTableSQLData Funktion aus der dump_database.php durch folgende Variante ersetzt....

function getTableSQLData($db_name, $tableName, $crlf)
{

   $schema_create   = '';
   $query      = 'SHOW CREATE TABLE '.$tableName;
   $result      = mysql_db_query($db_name, $query) or database_error(__FILE__, __LINE__);

   if (!($result === false))
   {
      $row      = mysql_fetch_row($result);
      $schema_create   = $row[1].';'.$crlf;
   }
   
   return (stripslashes($schema_create));

}


aber die ist einerseits ungetestet und andererseits weiss ich nicht ob das überhaupt was bringt *g*
Logged

It's better to be hated for who you are
then to be loved for who
you are not...
[/b][/i]
SnowCrash
Full Member
***
Posts: 110


Re:Datenexport schlägt fehl
« Reply #7 on: January 22, 2004, 09:55:56 AM »
Reply with quote

Achja... ansonsten würde ich noch

http://sourceforge.net/projects/pmbackup/%20target=

testen.... aber wenn schon phpmyadmin es nicht schafft ist irgendwas bei dir im argen....
Logged

It's better to be hated for who you are
then to be loved for who
you are not...
[/b][/i]
snakebyte
Noobie
*
Posts: 17


I'm a llama!

Re:Datenexport schlägt fehl
« Reply #8 on: January 22, 2004, 10:22:18 AM »
Reply with quote

das ungetestete Script will ich nicht riskieren ... nicht das ich mir mein Forum damit zerballer.

das tool funzt auch nicht *kriesekrieg*. das zeigt mir meine db an, ich klicke auf export und es passiert .... nichts
Logged
SnowCrash
Full Member
***
Posts: 110


Re:Datenexport schlägt fehl
« Reply #9 on: January 22, 2004, 11:10:40 AM »
Reply with quote

hmmm.... wart mal.... ich hab ne Idee ;D

Da is doch noch nen total blöder Bug...

Im Moment versucht dump_database nämlich *alle* Tabellen zu exportieren... auch die, die garnicht zum Forum gehören....

Wenn man nun in dump_database.php die Funktion "dumpDBNow" durch folgende ersetzt:

function dumpDBNow($db_name, $dumpas)
{

   global $db_prefix;
   
   @set_time_limit(600);
   $crlf = "\r\n";

   //getting all tables of  database

   $tabs = mysql_list_tables($db_name);
   $num_tabs = mysql_num_rows($tabs);

   if($num_tabs != 0)
   {
      $dat = date("Ymd");
      $date = date ("Y.m.d - H:i:s");

      $filename = $db_name . "-" . $dumpas . "_" . $dat . ".sql";
      header("Content-Encoding: none");
      header("Content-type: application/octetstream");
      header("Content-disposition: filename=" . $filename);

      echo "# ==================================================$crlf";
      echo "#$crlf";
      echo "# $db_name$crlf";
      echo "# $date $name !$crlf";
      echo "#$crlf";
      echo "# ==================================================$crlf";
      echo "$crlf";


      for($i = 0; $i < $num_tabs; $i++)
      {
         
         $tableName = mysql_tablename($tabs, $i);

         if (substr($tableName,0,strlen($db_prefix)) == $db_prefix)
         {
   
            if($dumpas != "data")
            {
               echo "$crlf";
               echo "#$crlf";
               echo "# Table structure for table '$tableName'$crlf";
               echo "#$crlf";
               echo "$crlf";
   
               //drop if exists
               $drop = "DROP TABLE IF EXISTS $tableName".";$crlf$crlf";
               echo "$drop";
   
               $data = getTableSQLData($db_name, $tableName, $crlf).";$crlf$crlf";
               echo "$data";
            }
   
            if($dumpas != "structure")
            {
               $get_rows = mysql_query("SELECT * FROM $tableName");
               $num_rows = mysql_num_rows($get_rows);
   
               if ($num_rows != 0)
               {
                  echo "$crlf";
                  echo "#$crlf";
                  echo "# dumping data '$tableName'$crlf";
                  echo "#$crlf";
                  echo "$crlf";
   
                  $content = getTableContent($db_name, $tableName);
                  echo "$content";
                  echo "# --------------------------------------------------------$crlf";
               }
            }
         }
      }
   }
}


dann werden nur noch die Forentabellen exportiert...

Das wäre so die letzte Idee die ich noch hätte....
« Last Edit: January 22, 2004, 11:31:07 AM by SnowCrash » Logged

It's better to be hated for who you are
then to be loved for who
you are not...
[/b][/i]
snakebyte
Noobie
*
Posts: 17


I'm a llama!

Re:Datenexport schlägt fehl
« Reply #10 on: January 22, 2004, 11:18:57 AM »
Reply with quote

Danke für deine Tipps, ist echt supernett von dir, aber leider war auch das nix ...

er dumpt alles, die members, die instant messages usw, insgesamt ne 1,5 mb große sql-Datei, aber bei den messages steht nur

#
# dumping data 'swforum_messages'
#

# --------------------------------------------------------
[[[swforum_]]]
#
# Table structure for table 'swforum_polls'
#

DROP TABLE IF EXISTS swforum_polls;

<br />
<b>Fatal error</b>:  Call to undefined function:  mysql_die() in <b>/homepages/0/d75631554/htdocs/schlangenwelt/forum/Sources/dump_database.php</b> on line <b>97</b><br />


ich habe nochmal mit phpmyadmin versucht, nur 100 zeilen zu exportieren - interner serverfehler :(
Logged
SnowCrash
Full Member
***
Posts: 110


Re:Datenexport schlägt fehl
« Reply #11 on: January 22, 2004, 11:32:21 AM »
Reply with quote

Schick mir mal Deine dump_database.php an [email protected] !
Logged

It's better to be hated for who you are
then to be loved for who
you are not...
[/b][/i]
Sternchen
Noobie
*
Posts: 35


Lächle und die Welt lächelt zurück :-)

Re:Datenexport schlägt fehl
« Reply #12 on: January 26, 2004, 12:18:02 AM »
Reply with quote

Hallo Snakebyte,

hast Du es denn schon mit phpmyadmin probiert?
Damit klappt es bei mir Super. Vielleicht bei Dir ja auch.

Gruss Sternchen
Logged
SnowCrash
Full Member
***
Posts: 110


Re:Datenexport schlägt fehl
« Reply #13 on: January 26, 2004, 08:41:53 AM »
Reply with quote

Das Problem ist gelöst. Es lag daran das die Tabellen zu gross waren und daher ein Timeout kam. Da hilft auch phpMyAdmin nicht ;D
Logged

It's better to be hated for who you are
then to be loved for who
you are not...
[/b][/i]
Pages: [1] Reply Ignore Print 
YaBB SE Community  |  German User Help  |  Hilfe zu YaBB SE  |  Datenexport schlägt fehl « previous - next »
 


Powered by MySQL Powered by PHP YaBB SE Community | Powered by YaBB SE
© 2001-2003, YaBB SE Dev Team. All Rights Reserved.
SMF 2.1.4 © 2023, Simple Machines
Valid XHTML 1.0! Valid CSS

Page created in 0.061 seconds with 21 queries.