Oliver: Passwort in binary Spalte eintragen

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

  1. 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

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau
    1. 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

      1. 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

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        Nur selber lernen macht schlau