Passwort in binary Spalte eintragen
Oliver
- php
Hallo mal wieder,
-immer wieder Sonntags- habe ich ein Problem.
Ich versuche aus einem Formular ein Passwort in eine Datenbank zuschreiben. Irgendwie, kommt aber nicht das an, was ich im Formular eingebe.
Das Formular läuft über POST und ruft sich selbst wieder auf <input type=text Name=passwort>.
Die SQL Abfrage lautet dann, "Update qrywebuser set name='$_POST[name]', passwort=convert(varbinary(20),'$_POST[passwort]') where KontaktID = '$ID'";
der Name wird super geändert, beim Passort habe ich aber anstelle von meiser dann ??r stehen.
Was wird hier von php als variable übergeben?? Text oder varchar. Laut MSSQL-Doku, kann man kein text in varbinary convertieren, aber varchar in varbinary. Hat einer eine Idee, was ich hier machen kann.
Gruss
Olli
Hello,
Die SQL Abfrage lautet dann, "Update qrywebuser set name='$_POST[name]', passwort=convert(varbinary(20),'$_POST[passwort]') where KontaktID = '$ID'";
Sicher verfügt auch MSSQL über einen Fehlerkanal, bzw. die API-Funktionen über einen Returnwert, der den Fehler kennzeichnet, bzw die API über eine eigene Fehlerfunktion für Queries.
Rückgabewerte der API-Funktion:
http://de2.php.net/manual/en/function.mssql-query.php
Letzte Meldung vom Server:
http://de2.php.net/manual/en/function.mssql-get-last-message.php
Allerdings kann man sich auf get-last-message auch nicht immer verlassen. Da gibt es wohl noch Probleme in der PHP-Schnittstelle.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hey Tom,
das Problem ist eigentlich, dass ich keine Fehlermeldung bekomme. ICh schreibe wohl was in die Spalte, aber nicht dass was rein sollte.
Egal was ich reinschreibe, kommen x-Fragezeichen und der letzte Buchstabe des Wortes raus. zb: Hallo -> ??o
Kann man einen doppelten convert Befehl nutzen?? Erst in varchar konvertieren, dann in varbinary??
Gruss
Olli
Hello,
das Problem ist eigentlich, dass ich keine Fehlermeldung bekomme. ICh schreibe wohl was in die Spalte, aber nicht dass was rein sollte.
Egal was ich reinschreibe, kommen x-Fragezeichen und der letzte Buchstabe des Wortes raus. zb: Hallo -> ??o
Bei mssql musst Du die letzte Meldung auch mit einer eigenen Funktion bzw. sogar mit einem speziellen Query besorgen. Automatische Fehlermeldungen gibt es da nicht. Die gibts bei anderen SQL-DBMS übrigens auch nur sehr selten... Die API (hier PHP) muss die Meldungen schon definiert abholen, und zwar sofort nach dem eigentlichen Query.
Harzliche Grüße aus http://www.annerschbarrich.de
Tom