Page 1 of 1

Probleme beim importieren einer Datenbanken

PostPosted: 06. April 2008 11:29
by steffen-79
Hi Habe folgende Fehlermeldung und weis nicht warum es nicht funktionier.
Habe die Datenbank erstellt und wollte dann die Tabellen usw. importieren aber SQL bringt mir folgende Fehlermeldung:

Fatal error: Call to undefined function: stripos() in C:\xampp\phpMyAdmin\libraries\import\sql.php on line 129

Kann mir da jemand weiter helfen??

Gruß Steffen

PostPosted: 06. April 2008 12:20
by Nobbie
stripos() gibt es erst ab PHP5 - wahrscheinlich hast Du eine ältere Version im Einsatz.

Schau mal bei http://de2.php.net/manual/de/function.stripos.php, da findest Du eine Ersatzfunktion für PHP4, die mußt Du nur abkupfern und einbinden.

PostPosted: 06. April 2008 12:42
by Hanspeter Thöni
Das ganze ist aber ein Fehler in PHPMyAdmin

Habe mir den Source-Code angeschaut.

Dort gibt es eine Abfrage auf die PHP-Version.
Code: Select all
        // catch also "delimiter"
        if (PMA_PHP_INT_VERSION >= 50000) {
            $p8 = stripos($buffer, 'DELIMITER', $i);
        } else {
            $p8 = strpos($buffer_upper, 'DELIMITER', $i);
        }
Die Frage ist nur, warum hier die falsche Version genommen wird. Könnte es sein, dass die Version beim installieren von phpmyadmin irgendwo zwischengespeichert wird, und dann nachdem umschalten auf PHP4 ein Problem entsteht. Um hier weiterzukommen müssten wir also XAMPP-Version und damit PHP-Version / phpMyAdmin Version kennen.

PostPosted: 20. April 2008 21:09
by Son Goku
Hallo,
gibt es für dieses Problem eine Lösung ?

Das Problem hab ich auch wenn ich umschalte auf PHP4.

wäre schön wenn jemand eine Lösung hat.

PostPosted: 20. April 2008 22:42
by sari42
Wenn der code in pma nicht funktionieren würde, hätte es schon Fehlermeldungen gehagelt. Zur Not kann man in libraries/import/sql.php nach
Code: Select all
// catch also "delimiter"
zur Kontrolle eine Zeile:
Code: Select all
die(' pma_php_version:' . PMA_PHP_INT_VERSION);
einbauen. Bei mir allerdings in Zeile 118, der OP wird wohl eine uralte pma Version benutzen :(

p.s.
bei mir erscheint : pma_php_version:50300 (also wird "stripos" ausgeführt, php4 hab ich leider nicht)

PostPosted: 21. April 2008 10:00
by Son Goku
jetzt habe ich die zeile mal eingebaut und raus kommt bei mir pma_php_version:40408. Also ist da ein Fehler drinn.

jetzt stellt sich mir die Frage wie ich das weg bekommen kann, denn soweit kenn ich mich mit den Quell Text nicht aus. Wäre gut wenn da mal ein Programmierer sich das angucken würde.

PostPosted: 21. April 2008 11:08
by sari42
>kommt bei mir pma_php_version:40408.
>Also ist da ein Fehler drinn.
wieso? Du benutzt doch php4, oder?

Die Logik ist meiner Meinung nach auch ok (jedenfalls wird in php5 der richtige Zweig ausgeführt).

Test (eigentlich überflüssig, da php4 ja wohl im php5 Zweig landet und stripos anmeckert!):
Code: Select all
//"die()" hier wieder entfernen!
if (PMA_PHP_INT_VERSION >= 50000) {
           $p8 = stripos($buffer, 'DELIMITER', $i); die('php >= 5');
        } else {
           $p8 = strpos($buffer_upper, 'DELIMITER', $i); die('php < 5');
        }


Jetzt müßte man prüfen, warum sich php4 anders verhält. Eventuell braucht php4 '50000' statt 50000 (obwohl das auch merkwürdig wäre)?

Über welche pma Version reden wir eigentlich? Vielleicht war es ja mal ein Bug und ist längst behoben.

PostPosted: 21. April 2008 12:09
by Son Goku
ich habe mir den "xampp-win32-1.6.6a-installer.exe" runtergeladen und da ist PMA Version 2.11.4 drin.

PostPosted: 24. April 2008 15:59
by Lost Soul
Ich habe genau das selbe Problem, möchte aber mit PHP4 testen, da auf dem Server kein PHP5 läuft, sondern eben nur 4...

Help needed :-/

PostPosted: 25. April 2008 23:32
by Son Goku
Lost Soul wrote:Ich habe genau das selbe Problem, möchte aber mit PHP4 testen, da auf dem Server kein PHP5 läuft, sondern eben nur 4...

Help needed :-/


genau deshalb habe ich auch gefragt, aber das hier noch eine vernünftige Antwort kommt glaube ich nicht.

naja dann gibt es ebend kein Xampp mehr sondern die Alt Modische Art, einzelnt installieren Apache, MYSQL usw.

Schade.