Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Biểu mẫu trong PDO để cập nhật dữ liệu

Trước tiên, tôi sẽ giải thích một số thay đổi mà tôi đã thực hiện đối với mã của bạn.

  1. Không bắt buộc phải có dấu tích điểm trừ khi bạn đang sử dụng từ dành riêng, vì vậy tôi đã xóa chúng

  2. Bạn đang xác định $id dưới dạng $id = $_SESSION['memberID']; vì vậy tôi đã thay đổi $stmt->bindParam(":id", $_SESSION['memberID'], PDO::PARAM_STR);

  3. Nếu bạn đang ràng buộc các tham số của mình, bạn không cần phải thực thi với một mảng, vì vậy tôi đã thay đổi $stmt->execute(array(':email' => $_POST['email'], ':location' => $_POST['location'], ':id' => $id)); thành $stmt->execute();

  4. Hành động action trong biểu mẫu của bạn phải được lặp lại.

Đây là quá trình kết quả

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

Đây là biểu mẫu kết quả (dễ đọc hơn khi có thụt lề)

<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. Cách tính số người dùng hoạt động hàng tuần (WAU) trong MySQL

  2. ngày hiển thị thông qua thủ tục được lưu trữ

  3. Chỉ cần chọn dữ liệu có chứa dấu gạch chéo ngược trong MySQL

  4. Phân tích cú pháp mệnh đề SELECT của các truy vấn SQL thành một mảng PHP

  5. Có gì mới trong ProxySQL 2.0