Mysql
 sql >> база данни >  >> RDS >> Mysql

Формуляр в PDO за актуализиране на данни

Първо ще обясня някои от промените, които направих във вашия код.

  1. Отметките не се изискват, освен ако не използвате запазена дума, затова ги премахнах

  2. Вече дефинирате $id като $id = $_SESSION['memberID']; така че промених $stmt->bindParam(":id", $_SESSION['memberID'], PDO::PARAM_STR);

  3. Ако обвързвате параметрите си, не е необходимо да изпълнявате с масив, затова промених $stmt->execute(array(':email' => $_POST['email'], ':location' => $_POST['location'], ':id' => $id)); за $stmt->execute();

  4. action във вашата форма трябва да бъде отразено.

Това е резултатният процес

<?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();
}
?>

Това е полученият формуляр (по-лесен за четене с вдлъбнатини)

<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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Най-добрият начин за хостване на MySQL в Azure Cloud

  2. Какво представлява MySQL еквивалентът на STUFF() в SQL Server?

  3. Python 3.4.0 с MySQL база данни

  4. Прекратяване на неактивни mysql връзки

  5. LOAD DATA INFILE:Невалиден низ от символи ut8mb4