Seite 1 von 1

Notice: Undefined variable: return in ../conlib/db_mysql.inc

Verfasst: Di 15. Apr 2008, 20:36
von xmurrix
Hallo zusammen,

während der Installation (von Punkt 3 auf 4) habe ich ein PHP Notice erhalten.

In der ../conlib/db_mysql.inc wir in Zeile 401 die Variable $return zurückgeliefert, die wird aber erst dann instanzziert und befüllt, wenn man ein Upgrade macht, bei einer Neuinstallation wird die Variable nicht gesetzt.

Möchte zwar keine Erbsen zählen, denke aber dass der Hinweis nicht schadet. Wenn die Fehleranzeige in PHP etwas toleranter konfiguriert ist, fällt das gar nicht auf.

Grüße
xmurrix

Nachtrag:
Halt, falscher Alarm. Ich habe wohl ein Update auf ne leere DB versucht.
So ist es halt, die User machen immer Sachen, an die die Entwickler nicht gedacht haben :-)

Verfasst: Di 15. Apr 2008, 20:45
von Oldperl
Könntest du bitte ein paar Systemdaten angeben, so ist das dann leichter nachvollziehbar. (Server,PHP,MySQL,etc.)

Gruß aus Franken

Ortwin

Verfasst: Di 15. Apr 2008, 20:47
von Oldperl
Nachtrag gelesen, da haben wir uns wohl getroffen.

Trotzdem könnte man das verfolgen um gegebenenfalls eine Meldung zu generieren (Stichwort:usibility). :wink:


Gruß aus Franken

Ortwin

Verfasst: Di 15. Apr 2008, 20:59
von xmurrix
Oldperl hat geschrieben:Könntest du bitte ein paar Systemdaten angeben, so ist das dann leichter nachvollziehbar. (Server,PHP,MySQL,etc.)

Gruß aus Franken

Ortwin
Klar, hier die Infos:
- PHP 5.2.5
- MySQL-Server 4.1.2
- Apache 2.0.59
- Windows XP SP2

Eigentlich geht es um folgende Funktion in db_mysql.inc:

Code: Alles auswählen

  function table_names() {
    $this->connect();
    $h = @mysql_query("show tables", $this->Link_ID);
    $i = 0;
    while ($info = @mysql_fetch_row($h)) {
      $return[$i]["table_name"]      = $info[0];
      $return[$i]["tablespace_name"] = $this->Database;
      $return[$i]["database"]        = $this->Database;
      $i++;
    }

    @mysql_free_result($h);
    return $return;
  }
Wenn ein User wie ich mit einer leeren DB ein Update versucht, wird in der Funktion table_names() die Variable $return nicht gesetzt. Eventuell würde ein

Code: Alles auswählen

return isset($return) ? $return : null;
helfen.

Gruß
xmurrix

Verfasst: Di 15. Apr 2008, 21:05
von Oldperl
hmm, das würde evtl. helfen.
Ich denke da aber eher an eine Änderung im Setup, es dürfte eigentlich garnicht möglich sein auf eine leere Datenbank ein Update/Migration zu fahren.

Nur eine Neuinstallation dürfte möglich sein. Werd mir das mal genauer anschauen, danke für den Hinweis.


Gruß aus Franken

Ortwin

Verfasst: Di 15. Apr 2008, 21:16
von xmurrix
Es kommt auch in der Contentbox die Meldung, dass keine Tabellen gefunden wurden, und der Button zum weiter klicken ist deaktiviert.

Das Setup ist also in diesem Fall in Ordnung.

Gruß
xmurrix