Fehlerhafte SQL Abfrage

Gesperrt
imuhcs
Beiträge: 27
Registriert: Do 30. Sep 2004, 07:59
Kontaktdaten:

Fehlerhafte SQL Abfrage

Beitrag von imuhcs » Do 25. Nov 2004, 09:46

Servus
Mein Contenido brignt mir im Error Log folgende Fehlermeldung:
[25-Nov-2004 09:39:29] Invalid SQL: update con_phplib_active_sessions set val='c2l....bJ2xhbmcnXSA9ICcxJzsg', changed='20041125093929' where sid='91cead630859d03b735f1ff1d9b164e9' and name='sid_1_1'<br><br>


ich weiß dass die beiden <br> am ende den Bug darstellen, aber woher kommt das?

timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo » Do 25. Nov 2004, 10:06

die Meldung kannst du ignorieren....

die Erscheint, wenn deine Session entfernt wird (z.b. durch einen Timeout) und du dich aber noch in Contenido befindest...

imuhcs
Beiträge: 27
Registriert: Do 30. Sep 2004, 07:59
Kontaktdaten:

Beitrag von imuhcs » Do 25. Nov 2004, 10:43

aber er sagt doch ausdrücklich dass das sql statement nicht korrekt ist.
und die <br> am ende gehören definitiv nicht ins sql statement!!!

timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo » Do 25. Nov 2004, 10:49

Die <br>'s werden nicht im SQL-Statement an den Server geschickt...

und das SQL-Statement ist auch syntaktisch korrekt, nur existiert die session nicht mehr für das update...

wie gesagt kannst du die Meldung ignorieren, sie beeinflusst dich beim arbeiten nicht...ist eher eine unschönheit

emergence
Beiträge: 10645
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Do 25. Nov 2004, 13:37

der fehler geht mir jetzt langsam auf die nerven..

conlib/ct_sql.inc

in class CT_Sql bei function ac_store

wird immer zuerst das update statement ausgeführt ohne vorher zu prüfen ob überhaupt noch ein eintrag besteht....
d.h. wenn vorher überprüft wird ob der eintrag überhaupt existiert sollte das statement ausgeführt werden...
*** make your own tools (wishlist :: thx)

kummer
Beiträge: 2423
Registriert: Do 6. Mai 2004, 09:17
Wohnort: Bern, Schweiz
Kontaktdaten:

Beitrag von kummer » Do 25. Nov 2004, 13:48

aber einem update ist es eigentlich egal, wieviele einträge betroffen sind. folglich auch, ob keiner betroffen ist. immer vorausgesetzt, das der query syntaktisch richtig ist, was ja der fall zu sein scheint.
aitsu.org :: schnell - flexibel - komfortabel :: Version 2.2.0 (since June 22, 2011) (jetzt mit dual license GPL/kommerziell)

emergence
Beiträge: 10645
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Do 25. Nov 2004, 14:16

okay hast recht, dann kommt es von wo anders her..
*** make your own tools (wishlist :: thx)

imuhcs
Beiträge: 27
Registriert: Do 30. Sep 2004, 07:59
Kontaktdaten:

Beitrag von imuhcs » Di 7. Dez 2004, 10:15

also gestern hat contenido die fehlermeldungen aber heftigst übertrieben.
gibt es denn keine möglichkeit das zu umgehen?
mein error log ist heute überlst voll:

[06-Dec-2004 15:24:49] Invalid SQL: update con_phplib_active_sessions set val='Y29udGVuaWRvOiR0aGlzLT5p....pdCc7IA==', changed='20041206152632' where sid='96f0bfd50789c742667c1cc7fb44d672' and name='contenido'<br><br>

emergence
Beiträge: 10645
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Di 7. Dez 2004, 12:46

die fehlermeldung ergibt leider keinen sinn solange wir nicht wissen welcher sql fehler mysql meldet

folgendes:

ne nette modifikation für die
conlib\db_mysql.inc

Code: Alles auswählen

$this->halt("Invalid SQL: ".$Query_String."<br><br>"); 
ersetzen durch

Code: Alles auswählen

$this->halt("Invalid SQL: ".$Query_String); 

und bei function halt($msg)
nach (oder so ähnlich)

Code: Alles auswählen

$this->haltmsg($_SERVER["REQUEST_URI"]. " ". $msg);


sollte

Code: Alles auswählen

$this->haltmsg("MySQL-Error: ".$this->Error." (".$this->Errno.")");


ergänzt werden
vorteile:
-> das sql statement hat keine <br><br> mehr im errorlog.txt
-> der mysql fehler den die db meldet wird mit protokolliert... ein testen bei phpmyadmin -> welchen fehler das statement liefert kann man sich dann sparen...

bitte einbauen und fehlermeldung posten...
*** make your own tools (wishlist :: thx)

imuhcs
Beiträge: 27
Registriert: Do 30. Sep 2004, 07:59
Kontaktdaten:

Beitrag von imuhcs » Di 14. Dez 2004, 11:51

ok nach den obigen Änderungen gibt cotnenido folgende Fehlermeldung im Error Log aus:

[14-Dec-2004 11:47:37] MySQL-Error: Table 'test.con_phplib_active_sessions' doesn't exist (1146)

ich weiß nicht so recht was damit anzufangen, meine DB heisst nicht test!!!

emergence
Beiträge: 10645
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Di 14. Dez 2004, 12:28

hast du irgendwo ein script eingebunden das ebenso einen connect auf die db macht ? oder hast du mal so was verwendet ?
*** make your own tools (wishlist :: thx)

imuhcs
Beiträge: 27
Registriert: Do 30. Sep 2004, 07:59
Kontaktdaten:

Beitrag von imuhcs » Di 14. Dez 2004, 12:33

nicht dass ich wüsste.
das ganze passiert wenn ich mich nur im contenido einlogge und dort ein wenig herumklicke!!!

emergence
Beiträge: 10645
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence » Di 14. Dez 2004, 12:57

hab jetzt mal die 4.4.4 nach test und mysql_connect durchsucht
da find ich aber nichts was dieses verhalten verursachen könnte...
ganz ehrlich zu sein, keine ahnung warum auf die db test gewechselt wird...

welche mysql version ist denn das ?
*** make your own tools (wishlist :: thx)

imuhcs
Beiträge: 27
Registriert: Do 30. Sep 2004, 07:59
Kontaktdaten:

Beitrag von imuhcs » Mo 20. Dez 2004, 14:40

so ich habe alle meine module durchsucht, und ein falsch konfigurierten Counter gefunden!!!
der hat in meiner lokalen Testumgebung auf die datenbank test zugegriffen, und die gabs net auf dem webserver ;-)

danke für die hilfe emergence!!!

Gesperrt