SQL - wie macht man's denn richtig?

  • PHP

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von ThuCommix.

    SQL - wie macht man's denn richtig?

    Ich will für eine kleine Seite (sehr beschränkter Nutzerkreis) mit einer Kennwortabfrage versehen. Intern soll man Beiträge (authentifiziert als man selbst) kommentieren können. Deshalb benötige ich vermutlich SQL.

    Da ich mich damit bisher nur sehr oberflächlich auseinandergesetzt habe, wollte ich mich erkundigen, wie man so ein System schnell und möglichst unkopliziert relativ sicher gestalten kann. @Manawyrm: weist hier gerne auf die Gefahr durch SQL-Injections hin. Als Gegenmaßnahmen werden dazu in Foren oft die Punkte Validieren, Filtern, Maskieren angeführt, ohne zu konkretisieren, was gemeint ist. Ich bin auch schon auf die Funktion mysql_real_escape_string gestoßen. @Lukas: hat allerdings mal erwähnt dass die mysql_*-Funktionen veraltet seien. Was hilft denn nun schnell, einfach und ist simpel nachzuvollziehen.

    schonmal vielen Dank für die Unterstützung

    PHP-Quellcode

    1. <?php
    2. class MysqlProvider
    3. {
    4. var $mysqlLink;
    5. function __construct()
    6. {
    7. $this->mysqlLink = new PDO('mysql:host=localhost;dbname=dbname;charset=utf8', 'user', 'pw');
    8. }
    9. function getData($statement, $values)
    10. {
    11. $db = $this->mysqlLink;
    12. $stmt = $db->prepare($statement);
    13. $stmt->execute($values);
    14. $rows = $stmt->fetchAll(PDO::FETCH_ASSOC);
    15. return $rows;
    16. }
    17. function execute($statement, $values)
    18. {
    19. $db = $this->mysqlLink;
    20. $stmt = $db->prepare($statement);
    21. $stmt->execute($values);
    22. $affected_rows = $stmt->rowCount();
    23. }
    24. }
    25. ?>


    Das hab ich mir mal gebastelt.. find ich ganz Hilfreich :)

    PHP-Quellcode

    1. $sql = new MysqlProvider();
    2. $row = $sql -> getData("Select * FROM Users WHERE id=?", array($id));