fehler beim update von 1.5.7 auf 1.6.3: invalid databasetype

Please report bugs here!

Moderator: Thorsten

carhartt
Posts: 105
Joined: Mon Sep 08, 2003 12:46 pm

fehler beim update von 1.5.7 auf 1.6.3: invalid databasetype

Post by carhartt »

bekomme beim letzten schritt des update.php folgende fehlermeldung:

Fatal error: Invalid Database Type in /pmf/inc/db.php on line 41

vorher hat alles super funktioniert, hab auch schon die dateien nochmals üertragen -> kein erfolg.

der server ist ein amd managed server von 1&1.

Debian 3.0
Kernel Version 2.6.16.13-20060523a-areca
PHP Version 4.4.2
Apache/1.3.37
MySQL Client API version 4.0.25

schonmal danke für die hilfe,

carhartt
Thorsten
Posts: 15560
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Post by Thorsten »

Hi,

wie sieht denn deine inc/data.php aus? Poste die doch hier mal ohne Benutzernamen und Passwort.

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
carhartt
Posts: 105
Joined: Mon Sep 08, 2003 12:46 pm

Post by carhartt »

Code: Select all

<?php
$DB["server"] = 'localhost';
$DB["user"] = 'user';
$DB["password"] = 'password';
$DB["db"] = 'db';
$DB["prefix"] = 'pmf_';
?>
Thorsten
Posts: 15560
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Post by Thorsten »

Hi,

da fehlt komischerweise

Code: Select all

$DB["type"] = 'mysql';
Bist du sicher, dass du eine 1.5.7 hast? :-)

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
carhartt
Posts: 105
Joined: Mon Sep 08, 2003 12:46 pm

Post by carhartt »

ja... eigentlich schon?!
jetzt hat das update geklappt, danke!

nur sind alle einträge weg!? :cry:

carhartt
Thorsten
Posts: 15560
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Post by Thorsten »

Hi,

fehlen da Einträge zur Sprache in einigen Tabellen?

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
carhartt
Posts: 105
Joined: Mon Sep 08, 2003 12:46 pm

Post by carhartt »

steht überall de drin.

die news & die rubriken gehen auch.

edit: es ist eine offene frage vorhanden, die wird auch angezeigt.
Last edited by carhartt on Tue Aug 15, 2006 9:30 am, edited 1 time in total.
Thorsten
Posts: 15560
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Post by Thorsten »

Hi,

auch in der faqcategoryrelations?

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
carhartt
Posts: 105
Joined: Mon Sep 08, 2003 12:46 pm

Post by carhartt »

Thorsten wrote:Hi,

auch in der faqcategoryrelations?

bye
Thorsten
ich hab nur diese tabelle: pmf_faqcategories, da ist auch DE angegeben!
Thorsten
Posts: 15560
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Post by Thorsten »

Hi,

dann kann schon die 1.5.7 nicht funktioniert haben! Diese Tabelle ist schon seit der Version 1.5.0 dabei. Was war denn das früher für ne Version?

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
carhartt
Posts: 105
Joined: Mon Sep 08, 2003 12:46 pm

Post by carhartt »

ich bild mir ein eine 1.5.7
halt... kann auch eine 1.4er gewesen sein?! :oops:

kann ich die beiträge noch retten?
Thorsten
Posts: 15560
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Post by Thorsten »

Hi,

hast du noch ein Backup? Wenn ja, dann spiel das mal ein und nenne mir die richtige Version, dann sehen wir weiter.

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
carhartt
Posts: 105
Joined: Mon Sep 08, 2003 12:46 pm

Post by carhartt »

1.4.11 wars. ich notiere das immer in den news, und die funktionieren nach wie vor!

carhartt
Thorsten
Posts: 15560
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Post by Thorsten »

Hi,

du müsstest halt nun per Hand die Queries ausführen, die zwischen der 1.4.11 und 1.6.3 geändert wurden. Die findest du in der Datei install/update.php. Ein backup hast du nicht mehr?

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
carhartt
Posts: 105
Joined: Mon Sep 08, 2003 12:46 pm

Post by carhartt »

Code: Select all

<?php
<html>
<body>

if ($step == 5) {
    require_once(PMF_ROOT_DIR."/inc/functions.php");
    require_once(PMF_ROOT_DIR."/inc/db.php");
    define("SQLPREFIX", $DB["prefix"]);
    $db = db::db_select($DB["type"]);
    $db->connect($DB["server"], $DB["user"], $DB["password"], $DB["db"]);

    $version = str_replace(".", "", $_REQUEST["version"]);
    if (4 == strlen($version)) {
        $version = 149;
    }


    // update from version 1.4.0
    if ($version <= "140") {
        // rewrite data.php
        if ($fp = @fopen("../inc/data.php","w")) {
    		@fputs($fp,"<?php\n\$DB[\"server\"] = '".$DB["server"]."';\n\$DB[\"user\"] = '".$DB["user"]."';\n\$DB[\"password\"] = '".$DB["password"]."';\n\$DB[\"db\"] = '".$DB["db"]."';\n\$DB[\"prefix\"] = '".SQLPREFIX."';\n\$DB[\"type\"] = 'mysql';\n?>");
    		@fclose($fp);
        } else {
    		print "<p class=\"error\"><strong>Error:</strong> Cannot rewrite to data.php.</p>";
        }
    }
    // update from version 1.4.2
    if ($version < "142") {
        $query[] = "ALTER TABLE ".SQLPREFIX."faqadminlog CHANGE user usr INT(11) DEFAULT '0' NOT NULL";
        $query[] = "ALTER TABLE ".SQLPREFIX."faqadminsessions CHANGE user usr TINYTEXT NOT NULL";
        $query[] = "ALTER TABLE ".SQLPREFIX."faqchanges CHANGE user usr INT(11) DEFAULT '0' NOT NULL";
        $query[] = "ALTER TABLE ".SQLPREFIX."faqcomments CHANGE user usr VARCHAR(255) NOT NULL";
        $query[] = "ALTER TABLE ".SQLPREFIX."faqvoting CHANGE user usr INT(11) DEFAULT '0' NOT NULL";
    }
    // update from version 1.4.4
    if ($version <= "144") {
        $query[] = "ALTER TABLE ".SQLPREFIX."faqdata CHANGE content content LONGTEXT NOT NULL";

    // optimize tables
    switch($DB["type"]) {
        case 'mysql':
        case 'mysqli':      $query[] = "OPTIMIZE TABLE ".SQLPREFIX."faqadminlog, ".SQLPREFIX."faqadminsessions, ".SQLPREFIX."faqcategories, ".SQLPREFIX."faqcategoryrelations, ".SQLPREFIX."faqchanges, ".SQLPREFIX."faqcomments, ".SQLPREFIX."faqdata, ".SQLPREFIX."faqfragen, ".SQLPREFIX."faqnews, ".SQLPREFIX."faqsessions, ".SQLPREFIX."faquser, ".SQLPREFIX."faqvisits, ".SQLPREFIX."faqvoting";
                            break;
        case 'pgsql':       $query[] = "VACUUM ANALYZE;";
                            break;
    }

    print '<p class="center">';
    if (isset($query)) {
        while ($each_query = each($query)) {
            $result = $db->query($each_query[1]);
            print "|&nbsp;\n";
            if (!$result) {
                print "<p class=\"error\"><strong>Error:</strong> ".$db->error()."</p>\n";
                print "<p>Query:</p>\n";
                print "<pre>".PMF_htmlentities($each_query[1])."</pre>\n";
                die();
            }
            wait(25);
        }
    }
    print "</p>\n";
    print '<p class="center">The database was updated successfully.</p>';
    print '<p class="center"><a href="../index.php">phpMyFAQ</a></p>';
    print '<p class="center">Please remove the backup (*.php.bak and *.bak.php) files located in the directory inc/.</p>';

    if (@unlink(basename($_SERVER["PHP_SELF"]))) {
        print "<p class=\"center\">This file was deleted automatically.</p>\n";
    } else {
        print "<p class=\"center\">Please delete this file manually.</p>\n";
    }
    if (@unlink(dirname($_SERVER["PATH_TRANSLATED"])."/installer.php")) {
        print "<p class=\"center\">The file 'installer.php' was deleted automatically.</p>\n";
    } else {
        print "<p class=\"center\">Please delete the file 'installer.php' manually.</p>\n";
    }
}
?>
<p class="center"><?php print COPYRIGHT; ?></p>
</body>
</html>

wäre die php datei dann so richtig? ich hab nur den letzten schritt genommen und auch nur für die 1.4?!

mfg

carhartt
Post Reply