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!