Ankündigung

Einklappen
Keine Ankündigung bisher.

Problem mit Methode

Einklappen

Neue Werbung 2019

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

  • dennito
    hat ein Thema erstellt Problem mit Methode.

    Problem mit Methode

    Hallo, folgendes bereitet mir Probleme:

    PHP-Code:
    public function getElementById($element$id) {
          
    $pdoparams = array(
                            
    ':element' => $element,
                            
    ':id' => $id
                            
    );
          
          
    $sql "SELECT :element FROM news WHERE id=:id";
                
    $stmt MyDB::getInstance()->prepare($sql);
                
    $stmt->execute($pdoparams);
                
                
    $result $stmt->fetchAll();
                return 
    $result;
        } 
    PHP-Code:
    $bla = new Article();
    var_dump($bla->getElementById("title"2)); 
    Ausgabe:

    array(1) { [0]=> array(1) { ["title"]=> string(5) "title" } }

    Anstatt title, welches der columnname ist, sollte dort eigentlich der inhalt stehen.. findet ihr vielleicht den Fehler? Wahrscheinlich wieder ein dummer noob-fehler

    mfg
    dennito

  • Flor1an
    antwortet
    Wahrscheinlich weil :element escaped wird. Heißt es steht am Ende etwa so im Query: 'title' somit ist es keine Spalte mehr sondern ein Wert, heißt MySQL gibt diesen Wert auch zurück! Daher solltest du die Spalte nicht über prepare() einbinden sondern direkt rein schreiben. (SQL Injection ist dann aber möglich sollte der Spaltenname nicht entsprechend überprüft werden.

    Einen Kommentar schreiben:

Lädt...
X