Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Perbarui data basis data dengan tombol kirim

Anda harus meletakkan URL di dalam atribut tindakan yang melakukan pemrosesan formulir, bukan fungsinya:

action="<?php updater($_POST['name'],1); ?>"  // not this
action="<?php echo $_SERVER['PHP_SELF']; ?>" // path to this page

Jika ini ada di halaman yang sama, Anda bisa menghilangkannya atau menggunakan $_SERVER['PHP_SELF'] , lalu tangkap pengiriman formulir. Di dalam proses itu, aktifkan fungsi kustom Anda.

if($_SERVER['REQUEST_METHOD'] === 'POST') {
    $value = $_POST['name'];
    $id = 1;

    updater($value, $id);
}

Perbaikan yang mudah adalah dengan mengutip string di dalamnya:

$sql = "UPDATE table_name SET name='$value' WHERE id=$id";

Tapi ini terbuka untuk injeksi SQL, cara lain untuk melakukan kueri yang lebih aman adalah dengan menyiapkannya:

function updater($value,$id) {
    // Create connection
   $conn = new mysqli( 'localhost' , 'user_name' , '' , 'data_base_name' );
    // Check connection
   if ($conn->connect_error) {
       die("Connection failed: " . $conn->connect_error);
   }
   $sql = "UPDATE table_name SET name = ? WHERE id= ?";
   $update = $conn->prepare($sql);
   $update->bind_param('si', $value, $id);
   $update->execute();
   if ($update->affected_rows > 0) {
       echo "Record updated successfully";
   } else {
       echo "Error updating record: " . $conn->error;
   }
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cara Menggabungkan Beberapa Baris Menjadi Satu Kolom di MySQL

  2. Cara menggunakan koneksi persisten mysqli di halaman yang berbeda

  3. Bagaimana cara menambahkan driver JDBC ke pipa Jenkins?

  4. Dapatkan nilai Min dan Max dengan satu kueri MySQL dengan Group BY

  5. Perbedaan Antara Skema / Basis Data di MySQL