Stephan: ENCODE geht bei "SELECT" aber nicht bei "INSERT"

Hallo,
Ich möchte Passwörter mit ENCODE verschlüsselt in einer DB ablegen.
Bei einem Server, an dem ich aktuell arbeite, gibt mir ENCODE nur per SELECT das gewünschte Ergebnis. Wird ENCODE hingegen bei einem INSERT oder UPDATE verwendet gibt die Funktion eine leere Zeichkette zurück.

Weis jemand etwas dazu?

Danke,
Stephan

  1. echo $begrüßung;

    Ich möchte Passwörter mit ENCODE verschlüsselt in einer DB ablegen.
    Bei einem Server, an dem ich aktuell arbeite, gibt mir ENCODE nur per SELECT das gewünschte Ergebnis. Wird ENCODE hingegen bei einem INSERT oder UPDATE verwendet gibt die Funktion eine leere Zeichkette zurück.

    Bei mir macht es das nicht.

    Weis jemand etwas dazu?

    Meine Glaskugel wüsste sicher was, die ist aber wie üblich grad nicht einsatzbereit.

    Wenn du ein nachvollziehbares Beispiel bringst, wird man daran möglicherweise den Fehler feststellen können.

    echo "$verabschiedung $name";

    1. Wenn du ein nachvollziehbares Beispiel bringst, wird man daran möglicherweise den Fehler feststellen können.

      Folgende Sache funktioniert:
      SELECT ENCODE('daumenschraube','meinpasswort');

      Das hier funktioniert nicht:
      INSERT INTO users (pwd, name, fname, uname, mail, createdate, logindate, updatedate, utype, uphone, uroles) VALUES
      (ENCODE('daumenschraube','meinpasswort'), 'Mustermann', 'Hannes', 'SUPER', 'Hannes.Mustermann@MeinServer.de', '2009-04-09 11:20:19', '0000-00-00 00:00:00', '0000-00-00 00:00:00', 'super', '', '');

      Außer das Passwort, werden sämtliche Daten korrekt in DB geschrieben.
      In der Spalte 'pwd' wird nichts eingetragen, sie bleibt leer.

      1. Hi,

        Folgende Sache funktioniert:
        SELECT ENCODE('daumenschraube','meinpasswort');

        Das hier funktioniert nicht:
        INSERT INTO users (pwd, ...) VALUES
        (ENCODE('daumenschraube','meinpasswort'), ...);

        Außer das Passwort, werden sämtliche Daten korrekt in DB geschrieben.
        In der Spalte 'pwd' wird nichts eingetragen, sie bleibt leer.

        Und dass das nicht am Format der Spalte pwd liegen kann, hast du bereits sichergestellt?

        MfG ChrisB

        --
        Light travels faster than sound - that's why most people appear bright until you hear them speak.
        1. Und dass das nicht am Format der Spalte pwd liegen kann, hast du bereits sichergestellt?

          Das war es. Obwohl die Tabellen automatisch angelegt werden, wurde ein falsches Format angelegt. Warum auch immer.

          Danke,
          Stephan

      2. Hallo,

        Das hier funktioniert nicht:
        INSERT INTO users (pwd, name, fname, uname, mail, createdate, logindate, updatedate, utype, uphone, uroles) VALUES
        (ENCODE('daumenschraube','meinpasswort'), 'Mustermann', 'Hannes', 'SUPER', 'Hannes.Mustermann@MeinServer.de', '2009-04-09 11:20:19', '0000-00-00 00:00:00', '0000-00-00 00:00:00', 'super', '', '');

        Außer das Passwort, werden sämtliche Daten korrekt in DB geschrieben.
        In der Spalte 'pwd' wird nichts eingetragen, sie bleibt leer.

        das kann ich nicht nachvollziehen. Bei meiner Testtabelle werden die Daten ordentlich geschrieben. Anmerkung: pwd ist bei mir VARBINARY(20), MySQL-Version 5.0.51b-community-nt.

        Freundliche Grüße

        Vinzenz

        1. das kann ich nicht nachvollziehen. Bei meiner Testtabelle werden die Daten ordentlich geschrieben. Anmerkung: pwd ist bei mir VARBINARY(20), MySQL-Version 5.0.51b-community-nt.

          Danke Vinzenz, das war der Fehler.
          Stephan