Ankündigung

Einklappen
Keine Ankündigung bisher.

MySQL Abfrage in MVC

Einklappen

Neue Werbung 2019

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

  • MySQL Abfrage in MVC

    Hallo zusammen,

    ich versuche mir gerade eine kleine Weboberfläche zu bauen, auf der ich SQL-Abfragen an einen Webserver tätigen kann. Das Ganze "versuche" ich mittels MVC umzusetzen, bin aber irgendwie absolut nicht der Fan von diesem Pattern, vielleicht, weil ich es auch einfach nicht zu 100% verstehe
    Naja ich habe auf jeden Fall in meinem Template folgendes:
    HTML-Code:
     <form role="form" action="index.php?action=sqlAbfrage" method="post">
                            <textarea class="form-control" rows="3" placeholder="Abfrage" name = "abfrage"></textarea>
                            <button type="submit" class="btn btn-default" id="abfrage">Abfrage!</button>
    </form>
    So und in meinem Controller fange ich das wie folgt ab:

    PHP-Code:
    public function sqlAbfrage(){
            $query = $_POST["abfrage"];
            If ($query ===""){ ?>
                <script>
                alert("Kein Inhalt!")
                </script>
                <?php
            
    }
            else{
                
    $dbrm = new DBResourceModel($this->getServer(), $this->getDbUser(), $this->getDbUserPW(), $this->getDb());
                
    $result $dbrm->executeSql($query);
            }
    }
    Und die dazugehörige Funktion in der Klasse DBResourceModel:

    PHP-Code:
    public function executeSql($sql){
            
    $result mysql_query($sql);
            
    $array = array();
            while (
    $row mysql_fetch_array($result)){
                
    array_push($array,$row);
            }
          
            return 
    $array;

    So, jetzt habe ich hier das wunderbare Array vorliegen mit meinen Abfrageergebnisse....Wie kriege ich dieses Array nun auf mein Frontend, um unterhalb des Textfeldes der SQL-Abfrage, die Resultate anzeigen zu können?! Bin hier ein kleines bisschen verloren^^

    Besten Dank und viele Grüße!

    Manu

  • #2
    Du hast da noch paar andere Baustellen..

    - mysql_ ist veraltet undin PHP 7 schon entfernt. Bau das am besten gleich jetzt noch um auf PDO oder mysqli_

    - du prüfst nicht ob $_POST['abfrage'] überhaupt gesetzt ist

    - Du hast aktuell eine SQL-Injection Lücke. Nutze Prepared Stamtents (zB die von PDO) dann ist das damit auch erschlagen.

    - Das ...
    PHP-Code:
    sqlAbfrage(){
            
    $query $_POST["abfrage"];
            If (
    $query ===""){ ?>
                <script>
                alert("Kein Inhalt!")
                </script> 
    .. ist auch etwas seltsam... Warum query nicht als Parameter? Das ist so nicht sauber. Und warum schreibst du einen JS-Alert raus, ...

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


    • #3
      Okay Danke schonmal für deine Rückmeldung. Ich schaue mir dann das mit dem PDO mal an und ändere mein Skript dementsprechend ab.
      Das mit dem Javascript Alert war mehr oder weniger zu Testzwecken. Hab diesen Teil jetzt einfach durch Isset ersetzt.

      Kommentar

      Lädt...
      X