PHP Parameter

  • Hallo und danke nochmal für deinen Rat. Derzeitiges Problem ist allerdings noch immer das ich den Table nicht richtig beschreiben kann bzw der Select diesen nicht richtig auslesen kann. Ich habe es mal wie folgt abgeändert


  • Da machst du ja auch Quatsch, dass ist so gar nicht das, was ich geschrieben hatte ^^



    //Edit: Du musst den Spaltennamen angeben in row und keine Zahl, beim normalen fetch in pdo.

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Ja habe ich andernfalls C&P


  • $pdo = new PDO('mysql:host=localhost;dbname=ibis', 'ibis', 'pw');

    Schreib das mal so:


    PHP
    try
    {
        $pdo = new PDO('mysql:host=localhost;dbname=ibis', 'ibis', 'pw', array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));
    }
    catch(PDOException $e)
    {
        echo $e->getMessage();
        exit;
    }

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Seite bleibt leider weiterhin weiß


  • Ahh, okay :)


    Also man kann Tabellennamen nicht escapen mit pdo auf diese Art und Weise.


    Mach am Besten eine Whitelist für die Tabellennamen:


    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

    Einmal editiert, zuletzt von Kaliber () aus folgendem Grund: Vergessen die Tabelle in `` zu setzen ;)

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Für eine Datenbank sollte er PDO oder MySQLi verwenden. Das standartbasierte mysql von PHP wurde in PHP 5.4> als veraltet deklariert und seit PHP 7 aus der PHP Libery entfernt.


    Ich gebe @Developer recht, für die Datenbank so wenig wie möglich per GET Parameter auslesen.
    Sobald du GET Parameter verwendest, überprüfe bitte vorher mit isset() ob der GET Parameter existiert; existiert wenn der Besucher den Get-Paramter aufruft (index.php?get=view) weil sonst erscheint immer ein PHP Fehler bei (index.php).



    Liebe Grüße,
    palwal

    Wer PALWAL-Sternchen vergibt, bekommt aus Prinzip ein Like 😏


    @palwal Donald Trump ist einer der besten Präsidenten welche die USA je hatte, meine Meinung.

  • noch ne kleine Ergänzung dazu:


    und den GET-Parameter filtern, je nach dem was gewünscht ist, sonst kann man auch isset einfach umgehen.
    Je genauer die Abfragen, desto weniger ist die Wahrscheinlichkeit auf einen SQL-Injection.
    Wenn du nur Integer als Parameter haben willst, dementsprechend auf Integer filtern ^^.