[TYPO3-german] exec_UPDATEquery aktualisiert Datenbank nicht

Christoph Kunze bruce at anjardis.de
Tue Jan 31 15:51:12 CET 2006


SQLyog kenne ich persönlich jetzt nicht, aber wenn du auch Abfragen 
damit ausführen kannst, probiere mal folgendes:
echo $db->UPDATEquery("fe_users","uid=56",$array);
Die Ausgabe dann mal kopieren und direkt mit deinem Programm ausführen. 
Das hat dann den Vorteil, dass du auch auf die Schnelle ein bisschen in 
der Abfrage rumspielen kannst. So wie ich das verstanden habe, hast du 
es ja bisher nur zum Vergleichen benutzt.
Ansonsten: Verwechselst du auch nicht fe_users mit be_users? Schaust du 
mit deinem Programm auch in die richtige Datenbank?
Hab es selbst schon oft genug erlebt, dass man ewig sucht und es am Ende 
nur an einer dämlichen Kleinigkeit liegt. Bei sowas sucht man sich tot.

Im Übrigen würde ich dir nicht empfehlen, eine Variable $array zu 
nennen. Auch wenn das funktioniert, kann das doch zu Verwirrungen in 
Bezug auf array() führen. Und um ein paar Mikrosekunden Perfomance 
rauszuholen, solltest du einfache ('') statt doppelte ("") 
Anführungszeichen benutzen, wenn du keine Variablen in der Zeichenkette 
benutzt. Nur als weitere Tips zum Lernen ;)

alexhaupt at web.de schrieb:
> Hi Chris,
> 
> danke für Deine Antwort und Optimismus :)! Ich lerne auch hier nicht aus...vielen
> Dank für den Tip mit der 1 :)!
> 
> Leider trifft Deine Vermutung mit der falschen uid nicht zu. ich habe mal folgenden
> Code ausgeführt:
> 
> $array = array("password" => "Test");
> $q = $db->exec_UPDATEquery("fe_users","uid=56",$array);
> echo $q;
> 
> bekam wieder eine 1! doch in der Spalte "password" wurde nichts geändert!
> 
> Die debug Ausgabe gibt mir auch nichts aus. Rufe ich diese nicht so auf:
> debug($db->exec_UPDATEquery("fe_users","uid=56",$array)); ?
> 
> ich greife mit SQLyog auf die DB zu und kann so direkt sehen, ob sich etwas getan hat!
> 
> schönen Gruß
> Alex
> 
> 
> 
> 
> 
> 
> German Typo3 Userlist <typo3-german at lists.netfielders.de> schrieb am 31.01.06 14:48:15:
> 
> Bist du dir 100% sicher, dass es nicht aktualisiert wurde? Auf welchem 
> Wege hast du das denn herausgefunden? Hast du dir mit phpmyadmin die 
> Tabelle angeschaut, über phpmyadmin->SQL mal die Abfrage ausgeführt und 
> noch einmal verglichen? Steht in $new_password wirklich das neue Passwort?
> Die "1" steht übrigens nicht für true, sondern dafür, dass eine (1) 
> Zeile geändert wurde, es MUSS also eigentlich geklappt haben. Es wäre 
> hilfreich, wenn du nicht nur schreibst, dass deine "Debug"-Ausgaben 
> keine Fehler aufweisen, sondern diese Ausgaben auch gleich mitpostest.
> Mein größter Verdacht ist einfach, dass das neue Passwort gar kein neues 
> ist oder die uid eine falsche ist und damit der falsche Benutzer 
> geändert wird.
> Wir finden schon eine Lösung,
> Chris
> 
> alexhaupt at web.de schrieb:
>> habe mal versucht statt der Funktion, direkt ein mysql_query ausführen.
>> da passiert auch nichts.
>> wenn ich mir über folgende Zeilen
>>
>> 		$q = $db->UPDATEquery("fe_users",$where,$array);
>> 		echo $q;
>>
>> die Abfrage anschaue, ist diese auch in Ordnung. ich bekommen über folgende
>> Zeilen sogar ein True bzw. 1
>>
>> 		$q = $db->exec_UPDATEquery("fe_users",$where,$array);
>> 		echo $q;
>>
>> doch die Daten sind trotz des "true"s nicht aktualisiert worde. ich fange gleich
>> mit dem Stricken an und lass die ganze proggerei sein ;)
>>
>> Spaß beiseite, hat jemand eine Erklärung????
>>
>> sg Alex
>>
>>
>> German Typo3 Userlist <typo3-german at lists.netfielders.de> schrieb am 31.01.06 09:17:42:
>>
>> Habe in der API auch schon rumgewällst. Doch ohne Erfolg.
>> habe die Variablen auch mal gegen reale Werte ausgetauscht - da passiert auch nichts.
>> Doch wenn ich mal statt uid - uids eingebe, gibt er mir eine Fehlermeldung aus, dass
>> die Spalte nicht existiert. So sehe ich, dass doch eine Kommunikation stattfindet.
>> Aber warum aktualisiert er die Werte nicht, wenn ich alles richtig schreibe????
>>
>> wäre nett, wenn mir einer helfen könnte :)! hier nochmal der Code:
>>
>> 		$where = "uid=". $userid;
>> 		$array = array("password" => md5($new_password));
>> 		
>> 		$db = $GLOBALS["TYPO3_DB"];
>> 		$db->exec_UPDATEquery("fe_users",$where,$array);
>>
>> schönen Gruß
>> Alex Haupt
>>
>> German Typo3 Userlist <typo3-german at lists.netfielders.de> schrieb am 30.01.06 20:42:54:
>>
>>> Etwas "off topic", aber gibt es eigentlich eine Dokumentation über die
>>> Funktionen, Methoden usw. der t3-Klasse(n) wie z.B. exec_UPDATEquery()?
>>>
>>> Ideal wäre eine Referenztabelle wie TSref :-)
>>>
>>
>> ExtDevEval installieren.
>>
>> http://typo3.org/documentation/api
>>
>>
>>
>> _______________________________________________
>> TYPO3-german mailing list
>> TYPO3-german at lists.netfielders.de
>> http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-german
>> _______________________________________________
>> TYPO3-german mailing list
>> TYPO3-german at lists.netfielders.de
>> http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-german
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german at lists.netfielders.de
> http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-german
> 



More information about the TYPO3-german mailing list