Ankündigung

Einklappen
Keine Ankündigung bisher.

Darstellen von Ergebnissen einer DB-Abfrage in einer Tabelle mit PDO

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #76
    1. korrekt

    2. Weil bei JOINs i.d.R. keine variablen Bedingungen verwendet werden. Das Risiko ist identisch zu WHERE.

    Kommentar


    • #77
      Danke für die Antwort!

      Hat bis jetzt alles gut geklappt, nur jetzt ist neuerlich ein Problem aufgetreten:

      Da die Datenbankabfrage von den Eingaben im Formular abhängt und diese völlig variabel und dynamisch sind, ist natürlich auch die SELECT-Abfrage je nach gewählten Kriterien völlig unterschiedlich (z.B. nur WHERE-Clause oder JOIN mit/ohne WHERE-Clause usw.). Und da bekomme ich in Mysqli bei komplexeren Abfragen Probleme mit den "?", da diese offenbar nicht mehr ganz in der richtigen Reihenfolge zugeordnet werden können.

      Gibt es in Mysqli die Möglichkeit, andere Platzhalter zu verwenden, die wie bei PDO unabhängig von der Reihenfolge klar zuordenbar sind?

      Wenn nicht, muss ich leider doch zu PDO wechseln, obwohl sonst alles gut funktioniert hätte.

      In diesem Fall hätte ich 2 Frage:

      1. Gibt es die Möglichkeit, die Ergebnisse mit PDO zu holen und die Tabelle aber trotzdem dann mit mysqli zu machen?

      2. Das Result-Set, das ich zur Tabellenerstellung verwende, bekomme ich mit $result = $stmt->get_result();. Mit welcher PDO-Funktion würde ich das selbe Ergebnis bekommen?

      Vielen Dank für die Hilfe!

      Kommentar


      • #78
        Gibt es in Mysqli die Möglichkeit, andere Platzhalter zu verwenden, die wie bei PDO unabhängig von der Reihenfolge klar zuordenbar sind?
        Nein

        1. Gibt es die Möglichkeit, die Ergebnisse mit PDO zu holen und die Tabelle aber trotzdem dann mit mysqli zu machen?
        Nein.

        2. Das Result-Set, das ich zur Tabellenerstellung verwende, bekomme ich mit $result = $stmt->get_result();. Mit welcher PDO-Funktion würde ich das selbe Ergebnis bekommen?
        In PDO gibt es keine extra Klasse für Prepared Statements.

        Kommentar


        • #79
          $fields[$k]->name
          ?? Das kam von mysql_fetch_fields (was übrigens nicht im PHP Funktionsschatz vorhanden ist, selbstgeschrieben?)

          Jedenfalls ist die Information in $fields höchstwahrscheinlich nicht vorhanden.

          edit: oha, 2. Seite nicht gesehen...
          Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

          Kommentar


          • #80
            Zitat von lstegelitz Beitrag anzeigen
            ?? Das kam von mysql_fetch_fields (was übrigens nicht im PHP Funktionsschatz vorhanden ist, selbstgeschrieben?)
            es gibt mysqli_fetch_fields() ...

            Kommentar


            • #81
              Gibt es? Ich habs nicht gefunden

              http://de2.php.net/manual-lookup.php...scope=quickref
              Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

              Kommentar


              • #82
                http://php.net/manual/de/mysqli-result.fetch-fields.php

                Kommentar


                • #83
                  Danke.
                  Blöd das die Suche es nicht gleich findet
                  Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                  Kommentar


                  • #84
                    Habe das Problem nun mit PDO gelöst.

                    Dass bei Eingabefelder, wo jemand externer etwas eingibt, prinzipiell die Gefahr von SQL-Injection besteht, ist klar! Habe aber irgendwo mal gelesen, dass auch Drop-down-Menues, Checkboxen und auch Radiobuttons nicht 100% sicher sind.

                    Daher ergeben sich noch 2 Frage:
                    1. stimmt das oder besteht keine Gefahr, wenn nur aus vorgegebenen Werten ausgewählt werden kann?
                    2. Wenn SQL-Injection hier möglich ist, WIE?

                    Danke für die Info!

                    Kommentar


                    • #85
                      Zweiter Punkt: http://php.net/manual/de/pdo.prepared-statements.php
                      The string "()()" is not palindrom but the String "())(" is.

                      Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                      PHP.de Wissenssammlung | Kein Support per PN

                      Kommentar


                      • #86
                        Zitat von Greehorn17 Beitrag anzeigen
                        Dass bei Eingabefelder, wo jemand externer etwas eingibt, prinzipiell die Gefahr von SQL-Injection besteht, ist klar! Habe aber irgendwo mal gelesen, dass auch Drop-down-Menues, Checkboxen und auch Radiobuttons nicht 100% sicher sind.

                        Daher ergeben sich noch 2 Frage:
                        1. stimmt das oder besteht keine Gefahr, wenn nur aus vorgegebenen Werten ausgewählt werden kann?
                        2. Wenn SQL-Injection hier möglich ist, WIE?
                        Du musst unterscheiden zwischen HTML-Elementen und dein PHP-Script.
                        Ersteres läuft im client ab. Da kannst du machen was du willst, das hat nichts mit SQL-Injection zu tun.

                        Alles was von außen rein kommt über den Server zu deinem Script ist erst mal als potentiell gefährlich zu betrachten.

                        Aber das haben wir schon ein paar mal durchgekaut, ich verstehe auch nicht warum du diese Frage immer und immer wieder stellst-



                        Kommentar

                        Lädt...
                        X