Welcome, Guest. Please login or register.
Did you miss your activation email?
May 26, 2012, 11:45:43 PM

Login with username, password and session length
Search:     Advanced search
Interested in joining the WebsiteBaker team?
For more Information read here or on our new website.
155556 Posts in 21715 Topics by 7737 Members
Latest Member: gx-world
* Home Help Search Login Register
Pages: [1]   Go Down
Print
Author Topic: Warning: mysql_fetch_array() expects.........  (Read 307 times)
evaki

Offline Offline

Posts: 224


« on: December 03, 2011, 12:47:29 AM »

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /framework/class.database.php on line 99

Die Warnung tritt auf, wenn account/forgot.php aufgerufen wird.

Installiert ist WB 2.8.2 SP2

Ob die Warnung erst mit SP2 vorhanden ist oder schon vorher war ist nicht bekannt.

Was läuft verkehrt?

MfG. Evaki
« Last Edit: December 03, 2011, 12:55:33 AM by evaki » Logged
einteik

Offline Offline

Posts: 37


« Reply #1 on: December 03, 2011, 10:49:21 AM »

Auf die Schnelle habe ich keine Lösung, an der class.database.php hat sich zwischen SP1 und SP2 nichts geändert.

Ich weiß nicht wie stark du dich an den Code herantraust (keine Angst, es geht ja nichts kaputt!).

Für die Fehleranalyse ist gut, wenn im WB-Backend unter Optionen, PHP Fehlerberichte, auf E_ALL&E_STRICT gesetzt wird.
Danach in der class.databse.php Zeile 99 aus
Code:
$fetch_row = mysql_fetch_array(mysql_query($statement) );
folgendes machen
Code:
$fetch_row = mysql_fetch_array(mysql_query($statement)) or die ("Mein MySQL-forgot-Error: " . mysql_error() );

Danach muss eine erweiterte Fehlermeldung angezeigt werden.

Diese zusammen mit deiner PHP-Version und MySQL-Version oder sogar phpinfo() Auszug kann der Fehler bestimmt eingegrenzt werden.
« Last Edit: December 03, 2011, 10:52:56 AM by einteik » Logged
evaki

Offline Offline

Posts: 224


« Reply #2 on: December 03, 2011, 12:35:50 PM »

"strict" ist hier immer aktiviert
Komischerweise ist der Fehler inzwischen (heute) "weg", warum auch immer.
Entdeckt hatte ich ihn gestern über Google, worauf ich dann natürlich sofort geprüft habe.

Dumm ist es, daß jetzt nichts reproduzierbares vorliegt.

Danke für Deine Unterstützung.

MfG. Evaki
Logged
einteik

Offline Offline

Posts: 37


« Reply #3 on: December 03, 2011, 01:59:36 PM »

Ich tippe entweder auf einen zwischenzeitig nicht-validen MySQL-Eintrag, durch eine tägliche Optimierung wurde dieser gefixt. Oder rein zufällig bei Neuanfordern des vergessenen Passwort auftretender Datenbankstörung, zum Beispiel kurzes Nicht-Erreichen des Servers.

Ansonsten wäre eine Überlegung, eine qualifiziertere Fehlermeldung zum Beispiel durch mysql_error() in Kombination mit einem Entwicklermodus grundsätzlich überall bei Websitebaker einzuführen. Dies betrifft hier eher die Entwickler.
Logged
DarkViper
Development Team
*****
Offline Offline

Posts: 1254


« Reply #4 on: December 03, 2011, 02:27:14 PM »

Ich hab mir das mal kurz angeschaut.

Auch wenn der Fehler in der class.database.php auftritt, ausgelöst wird er jedoch in der /account/forgot_form.php.
Da wird anscheinend ein ungültiger Wert in ein SQL-Statement eingebaut so dass der zugehörende Query-Aufruf kein gültiges Ergebisobjekt zurückliefert und dadurch auch der nachfolgende fetchRow-Aufruf schief geht.

Solche Probleme treten derzeit noch relativ häufig auf, da im 'alten' Code des WB-Cores und auch leider in den meisten 3th-party Modulen Fehler bisher eher selten vernünftig abgefangen werden.

Da ein Großteil des /account/ - Ordners aber gerade noch überarbeitet wird, werd ich speziell die forgot_form.php nachher noch fertig machen und im Laufe des Nachmittags hier zum Testen posten.

--- edit ----

ich habe die geänderte Datei jetzt angehängt. Einfach einkopieren und testen.
Soweit der Fehler durch übergebene Parameter etc. erzeugt wird, ist er selbstverständlich nicht behoben. Jedoch kann in der /wb/index.php in Zeile 20 der Eintrag define('DEBUG', false); auf define('DEBUG', true); gesetzt werden. Dadurch werden deutlich genauere Fehlermeldungen ausgegeben.

« Last Edit: December 03, 2011, 03:30:06 PM by DarkViper » Logged

Anleitungen lesen und selber nachdenken ist anstrengend...  Da lass ich doch lieber andere für mich denken...

In 1984:  Nineteen Eighty-Four is a unrealistic utopia!!
In 2012:  Nineteen Eighty-Four is a little piece only of our reality!!
evaki

Offline Offline

Posts: 224


« Reply #5 on: December 04, 2011, 12:23:12 PM »

Danke. Nun kennt man wenigstens die Ursache, und ein Blick auf den Entwicklungsstand wird auch gewährt.
Da es anscheinend nur sporadisch auftaucht und nach meiner Kenntnis bisher noch niemand in meinem Anwenderpool "forgot" genutzt hat (wie erwähnt, ist es nur durch Google aufgefallen), werde ich die Datei weiterreichen. Vielleicht gibt's da ja noch eine Rückmeldung. -Wenn es Fehler gibt sicherlich  grin
Vielleicht gibt es ja noch jemanden, der den Test durchführt.

Rückmeldung: "Keine Auffälligkeiten" (Na, was sonst  rolleyes  )
MfG. Evaki
« Last Edit: December 04, 2011, 12:37:02 PM by evaki » Logged
Pages: [1]   Go Up
Print
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2011, Simple Machines Valid XHTML 1.0! Valid CSS!