Seite 2 von 2

Re: Setup ALTER TABLE Auto_increment Fehler #1062

Verfasst: Mo 24. Aug 2020, 09:52
von bodil
Dazu, lieber Ortwin, dann doch noch mal eine Verständnis-(oder Logik-?)Frage:
Wenn ich mit diesen Zeile

Code: Alles auswählen

// Determine the type of $$var
        eval("\$t = gettype(\$$var);");
        switch ($t) {
            case 'array':
herausfinde, dass ich ein Array habe, wie kann es dann zwei Zeilen später zu einer Warnung kommen, weil ich eben kein Array habe?
Dank und Gruß!
Bodil

Re: Setup ALTER TABLE Auto_increment Fehler #1062

Verfasst: Mo 24. Aug 2020, 12:36
von Oldperl
Servus,

sorry, aber das kann ich dir so einfach nicht beantworten. Zumindest die entsprechende Fehlermeldung wäre da schon hilfreich. Das Problem bei dieser Methode ist auch, dass sie zum Einen rekursiv aufgerufen wird, und zum Anderen auch statische Variable nutzt. Dazu noch die Nutzung der eval-Funktion, und schon ist das nicht mehr so einfach zu tracen.
Auch interessant wäre die genutzte PHP-Version, das es auch bei der Funktion gettype Änderungen gab.

Gruß aus Franken

Ortwin

Re: Setup ALTER TABLE Auto_increment Fehler #1062

Verfasst: Mo 24. Aug 2020, 13:18
von bodil
Oh Mist! Das Thema ist schon uralt, sehe ich gerade.
Thema auf Seite 1 war, dass das Errorlog mit solchen Meldungen vollläuft:

Code: Alles auswählen

[11-Oct-2019 12:33:20 Europe/Berlin] PHP Warning:  Invalid argument supplied for foreach() in /usr/.../contenido/classes/class.session.php on line 226
Die Warnung deutet darauf hin, dass $$var möglicherweise kein Array ist.
Du hattest hier viewtopic.php?p=180681#p180681 sehr anschaulich den Lösungsvorschlag von rethus kritisiert, der den Typ verschiedener Variablen abfragen wollte.
Ich war gerade über deine Zeile
Die zweite Prüfung für $l könnte entfallen, da diese Variable sowieso immer ein Array ist
gestolpert und dachte mir: $$var muss doch eigentlich auch immer ein Array sein? Ist nicht eigentlich ausgeschlossen, dass es überhaupt eine Warnung gibt?