[PHP] PDO Problem/Frage

  • Hey,


    ich bin gerade dabei ein 'UCP' zu erstellen via Steam registrierung.
    Wie folgt hatte ich mir das vorgestellt:



    3. Sollte man sich eingeloggt habe, soll eine Verbindung zur DB aufbauen und direkt $steamprofile['steamid'] ablesen und in der Datenbank vergleichen.
    -> Sollte diese Zahl(ist eindeutig) schon in der TabelleX vorhanden sein dann setzte $variableX auf TRUE
    -> Sollte die Zahl nicht vorhanden sein setze $variableX auf FALSE


    bis hierhin hab ich Probleme.


    Sollte $variableX auf true gesetzt sein, dann zeige 'dein account ist schon vorhanden' (das schaff ich noch :D)
    Sollte $variableX auf False gesetzt sein, dann zeige von einer anderen TabelleY(hat auch die steamid) den namen an und ein Input Feld, wo man ein Passwort setzen kann.(Das wird dann in TabelleX gesetzt in Spalte passwort)



    Diese Abfragen usw. schaff ich schon, aber ich verstehe noch nicht ganze das ganze mit der Datenbank. Hab durchrecherchiert und verschiedenes getestet, komme allerdings nicht weiter.
    Hier ist mein momentanes Ergebnis:



    Allerdings wenn ich dann auf der Seite bin wird sie mir nur weiß angezeigt.



    $sth = $dbh->query("SELECT * FROM fmr WHERE SteamUID = :steamid");
    $result = $statement->execute(array('SteamUID' => $aktiv));
    $aktiv = $statement->fetch();


    das hier hab ich nicht so ganz gerafft, was hier eigentlich passiert. Aber hab gelesen so ist der allgemeine Aufbau.


    Danke im Voraus für eure Hilfen
    DrSkio

  • Zitat

    Allerdings wenn ich dann auf der Seite bin wird sie mir nur weiß angezeigt.

    Bitte schau den in den error log des Webservers bzw. Php oder aber auch aktiviere das anzeigen von php errors



    Bezüglich deiner Frage zu PDO
    JA, das ist in der Regel der Aufbau wie man einen query macht.
    Als erstes übergibst du deinen SQL Query schreibst aber nicht die Werte die du bei einer WHERE Abfrage z.b. benötigst sondern gibst diesen einen Namen oder trägst ein ? Ein.
    Anschließend werden die variablen an den Query gebunden da escaped das System alle Einträge damit keine SQL Injektion auftreten kann und der Query wird damit an die DB gesendet.


    Bei der letzten Zeile ist holst du nur die Antwort von der Datenbank, nur notwendig bei SELECT Anfragen, damit du dann mit den Werten arbeiten kannst.