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

Tutorial yang bagus tentang cara memperbarui database Mysql Anda dengan formulir PHP?

Memperbarui data bisa sangat sederhana. Mari kita mulai dengan formulir, sebagai permulaan:

<form method="post" action="submit.php">
  <input type="text" name="id" value="12" />
  <input type="text" name="value" value="Jonathan" />
  <input type="submit" />
</form>

Formulir ini akan mengirimkan data ke submit.php kami skrip di mana kami dapat menanganinya, dan meneruskannya ke database kami. Karena metode formulir kami adalah "posting", semua nilai kami akan dikirim melalui POST array super di PHP (ini tidak terjadi jika Anda menggunakan pengunggah file). Jadi di dalam submit.php our kami halaman, kita dapat mencetak nilai ID dan Nilai seperti ini:

print $_POST["id"]; // the name of the HTML element is the key
print $_POST["value"]; // again, note that we use the name as the key

Anda harus berhati-hati dalam meneruskan nilai yang dikirimkan pengguna langsung ke kueri Anda, jadi sebaiknya bersihkan data menggunakan fungsi seperti mysql_real_escape_string() :

$id = mysql_real_escape_string( $_POST["id"] );
$value = mysql_real_escape_string( $_POST["value"] );

Hal berikutnya yang ingin kita lakukan adalah menempatkan ini dalam kueri:

$sql = "UPDATE mytable SET value = '{$value}' WHERE id = {$id}";

Ini adalah saat yang tepat untuk tidak menyatakan bahwa saya tidak menganjurkan Anda untuk menggunakan kode contoh ini di lingkungan langsung. Anda ingin mencari injeksi sql, dan cara menghindarinya. Kode yang saya berikan di sini hanyalah sebuah contoh. Setelah nilai kita masuk, maka query yang akan dijalankan sebenarnya terlihat seperti ini:

UPDATE mytable SET value = 'Jonathan' WHERE id = 12

Sekarang, untuk menjalankannya, kita harus terhubung ke database.

$host = "localhost"; 
$user = "root"; 
$pass = "";
$database = "myDatabase";
$conn = mysql_connect($host, $user, $pass) or die( mysql_error() );
        mysql_select_db($database) or die( mysql_error() );

Yang kami lakukan di sini adalah menyimpan kredensial akun pengguna-mysql kami dalam array, dan meneruskannya ke fungsi koneksi. Kode ini seharusnya cukup jelas, tetapi beri tahu saya jika tidak jelas.

Setelah Anda mendapatkannya, Anda siap untuk menjalankan kueri Anda. Ingat bahwa kita menyimpannya dalam array bernama $sql :

$result = mysql_query( $sql ) or die( mysql_error() );

Itu dia. Anda melakukannya! Data, dengan asumsi tidak ada yang salah, sekarang diperbarui di database Anda. Ada banyak cara Anda dapat meningkatkan informasi yang diberikan kembali kepada pengguna melalui skrip ini. Yang juga perlu diperhatikan adalah Anda ingin membersihkan data Anda bahkan sebelum mengizinkan skrip dijalankan - jika itu bukan data yang dapat diterima (seseorang mencoba memasukkan kueri mereka sendiri), Anda pasti ingin memuntahkannya kembali.

Lihat Fungsi MySQL dalam Dokumentasi PHP untuk mendapatkan lebih banyak barang, dan pastikan untuk kembali ke sini jika Anda memiliki pertanyaan yang lebih spesifik!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. membuat nomor acak menggunakan MYSQL

  2. PHP 7.2.2 + mysql 8.0 PDO memberikan:metode otentikasi tidak diketahui oleh klien [caching_sha2_password]

  3. Tentukan Peringkat berdasarkan Beberapa Kolom di MySQL

  4. MySQL - ID berikutnya / sebelumnya dengan bersepeda

  5. Bagaimana cara membuat tabel dengan hubungan N:M di MySQL?