Der Martin: Login funktin - Fehler gefunden :(

Beitrag lesen

Hallo,

Mit $stmt->bind_param("sss", $userMail, $pw, $ak); lege ich fest, ob die eingefügten Werte ein String oder integer ist. Wenn ich $ak = 1; schreibe, bin ich davon ausgegangen dass der Wert ein "integer" also $stmt->bind_param("ssi", $userMail, $pw, $ak); ist

du verwechselst hier zwei Welten. Mit bind_param() teilst du der Datenbank mit, welche(n) Datentyp(en) du als Ergebnis haben möchtest. Die DB versucht dann nach besten Kräften, diesem Wunsch nachzukommen. Welchen Typ die PHP-Variablen vorher haben, die dann die Ergebnisse übernehmen sollen, spielt aber gar keine Rolle, denn PHP ändert die Typen von Variablen kontextabhängig. Ob $ak also vor dem Aufruf von bind_params() ein Integer, ein String, ein Boolean oder gar komplett undefiniert ist, spielt keine Rolle. Du teilst der DB mit, dass du einen String haben möchtest, also bekommst du einen String. Du wünschst dir einen Integer, also bekommst du einen Integer, wenn der Wert in der DB als solcher interpretiert werden kann.

das Script hat die Abfrage nicht ausgeführt

Doch, ganz bestimmt. Nur hast du dann vielleicht nicht das bekommen, was du erwartest.

ändere ich diesen Wert in ein „s“ funktioniert die Abfrage warum?

Der Datentyp "String" kann alles enthalten und unterliegt keinen Regeln oder Beschränkungen. Wenn du einen String bestellst, bekommst du also immer ein gültiges Ergebnis. Wenn du einen anderen Datentyp anforderst, etwa Integer, könnte eine Konvertierung nötig sein, wenn der Datentyp in der DB ein anderer ist, und die Konvertierung kann fehlschlagen. Das Ergebnis ist dann eventuell 0.

So long,
 Martin

--
Success should be measured not so much by the position that one has reached in life,
but by the obstacles one has overcome while trying to succeed.
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
0 45

Benutzer registieren

Martin_Online
  • php
  1. 0
    Tom
    1. 0
      Tom
  2. 0
    ChrisB
    1. 0
      Martin_Online
      1. 0
        Martin_Online
        1. 1
          ChrisB
          1. 0
            Martin_Online
            1. 0
              Tom
              1. 0
                Martin_Online
                1. 0

                  in_array() und strict

                  Tom
            2. 0

              Benutzer registieren, Unterschied zwischen Insert und Select

              Tom
              • datenbank
              1. 0
                Martin_Online
                1. 2

                  PDO oder MySQLi ?

                  Tom
      2. 0
        Der Martin
  3. 0

    Login funktin

    Martin_Online
    1. 0
      Tom
      1. 0
        Tom
      2. 0
        Martin_Online
      3. 0
        dedlfix
        1. 0
          Martin_Online
    2. 1
      dedlfix
      1. 0
        Tom
        1. 0
          dedlfix
      2. 0
        Martin_Online
        1. 0
          dedlfix
          1. 0
            Martin_Online
            1. 1
              dedlfix
              1. 0

                Login funktin - Fehler gefunden :(

                Martin_Online
                1. 0
                  dedlfix
                  1. 0
                    Martin_Online
                    1. 0
                      Der Martin
                      1. 0
                        dedlfix
                        1. 0
                          Der Martin
                          1. 0

                            Blamiere dich täglich

                            Tom
                            • menschelei
                      2. 0
                        Tom
                        1. 0
                          dedlfix
                          1. 0
                            Tom
                            1. 0
                              Martin_Online
  4. 0

    Datenbankstruktur - Logindaten & Userdaten

    Martin_Online
    1. 0
      dedlfix
  5. 0

    Zusatzfrage

    Martin_Online
    1. 0
      Der Martin
      1. 0
        Martin_Online
      2. 0
        M.