sql >> Database >  >> RDS >> Mysql

Formulier in PDO om gegevens bij te werken

Eerst zal ik enkele van de wijzigingen uitleggen die ik in je code heb aangebracht.

  1. Terugklikken is niet vereist, tenzij je een gereserveerd woord gebruikt, dus ik heb ze verwijderd

  2. U definieert al $id als $id = $_SESSION['memberID']; dus ik veranderde $stmt->bindParam(":id", $_SESSION['memberID'], PDO::PARAM_STR);

  3. Als je je parameters bindt, hoef je niet uit te voeren met een array, dus heb ik $stmt->execute(array(':email' => $_POST['email'], ':location' => $_POST['location'], ':id' => $id)); om $stmt->execute();

  4. De action in uw formulier moet worden herhaald.

Dit is het resulterende proces

<?php
if(isset($_POST['submit'])) {

    $email = $_POST['email'];
    $location = $_POST['location'];
    $id = $_SESSION['memberID'];
    $sql = "UPDATE members SET email=:email, location=:location WHERE memberID=:id";
    $stmt = $db->prepare($sql);
    $stmt->bindValue(":email", $email, PDO::PARAM_STR);
    $stmt->bindValue(":location", $location, PDO::PARAM_STR);
    $stmt->bindValue(":id", $id, PDO::PARAM_STR);
    $stmt->execute();
}
?>

Dit is de resulterende vorm (gemakkelijker te lezen met inspringingen)

<form role="form" method="POST" action="<?php echo $_PHP_SELF ?>">
    <div class="form-group">
        <label class="control-label">Email</label>
        <input type="text" value="<?php echo $_SESSION['email'] ?>" name="email" id="email" class="form-control"/>
    </div>
    <div class="form-group">
        <label class="control-label">Location</label>
        <input type="text" value="<?php echo $_SESSION['location'] ?>" name="location" id="location" class="form-control"/>
    </div>
    <div class="margiv-top-10">
        <input type="submit" name="submit" class="btn green" value="Update" >
        <a href="profile.html" class="btn default">Annuller </a>
    </div>
</form>



  1. Hoe volgnummer in MySQL-queryresultaat te tonen?

  2. Toegang krijgen tot XAMPP MySql-database vanaf een andere computer

  3. Hoe vind ik relaties tussen tabellen die verband houden met lange afstanden? MySQL

  4. Een tabel samenvoegen op basis van door komma's gescheiden waarden