mit PHP Datensatz Hinzufügen mysqli

  • PHP

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von schnibli.

    mit PHP Datensatz Hinzufügen mysqli

    Hallo Ich würde gerne mit mysqli daten in eine Datenbank schreiben.
    Nun mein code:

    PHP-Quellcode

    1. <?php
    2. include('../db_connect.inc.php');
    3. $benutzerName = isset($_POST['benutzerName']) ? $_POST['benutzerName'] : '';
    4. $benutzerVorname = isset($_POST['benutzerVorname']) ? $_POST['benutzerVorname'] : '';
    5. $benutzerFestnetz = isset($_POST['benutzerFestnetz']) ? $_POST['benutzerFestnetz'] : '';
    6. $benutzerHandy = isset($_POST['benutzerHandy']) ? $_POST['benutzerHandy'] : '';
    7. // show errors (remove this line if on a live site)
    8. mysqli_report(MYSQLI_REPORT_ERROR);
    9. $stmt = $db->prepare("INSERT INTO verzeichniss SET Name = ?, Vorname = ?, Festnetz = ?, Handy = ?");
    10. $stmt->bind_param('ssssi', $benutzerName, $benutzerVorname, $benutzerFestnetz, $benutzerHandy
    11. );
    12. $stmt->execute();
    13. $stmt->close();
    14. header ("Location:verzeichniss.php");
    15. ?>

    kann mir jemand behilflich sein, irgendwo steckt der wurm drin :)

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „schnibli“ ()

    In deinem SQL Statement ist der Wurm drin. Lese dich doch einfach mal auf php.net in mysqli ein. Ausserdem verwendest du wieder die Superglobals direkt, ich würde mit filter_input filtern und evtl. auch noch escapen. So legst du einen Datensatz an.

    PHP-Quellcode

    1. $mysqli = new mysqli($dbhost, $dbuser, $dbpassword, $dbname);
    2. $stmt = $mysqli->prepare('INSERT INTO verzeichnis (Name, Vorname, Handy, Festnetz) VALUES (?, ?, ?, ?)');
    3. $name = 'hans';
    4. $vorname = 'franz';
    5. $handy = '123/4567';
    6. $festnetz = '765/4321';
    7. $stmt->bind_param('ssss', $name, $vorname, $handy, $festnetz);
    8. $stmt->execute();
    Perfekt danke :)

    PHP-Quellcode

    1. <?php
    2. include('../db_connect_i.inc.php');
    3. // show errors (remove this line if on a live site)
    4. mysqli_report(MYSQLI_REPORT_ERROR);
    5. $stmt = $db->prepare('INSERT INTO verzeichniss (Name, Vorname, Festnetz, Handy) VALUES (?, ?, ?, ?)');
    6. $stmt->bind_param('ssss', $_POST['benutzerName'], $_POST['benutzerVorname'], $_POST['benutzerFestnetz'], $_POST['benutzerHandy']);
    7. $stmt->execute();
    8. ?>