Ubah kode Anda menjadi ini agar aman dan berfungsi:
<?php
// Connect to the database
mysql_connect ("localhost","Username","Password")
or die ('Error: ' . mysql_error());
echo "connected to database!";
mysql_select_db ("Database");
// Insert data into table
$Email= mysql_real_escape_string($_POST['Input2']);
$Name= mysql_real_escape_string($_POST['Input3']);
$Company= mysql_real_escape_string($_POST['Input4']);
$Price= mysql_real_escape_string($_POST['Input5']);
$action = mysql_real_escape_string('insert php code for button here');
$query = "INSERT INTO CustomerInformation
(Email,Name,Company,Price,Tab Count,Action)
VALUES
('$Email', '$Name', '$Company', '$Price', '$action') ";
mysql_query($query) or die ('Error updating database');
echo "Database updated successfully!";
?>
Perhatikan bahwa Anda tidak perlu memasukkan id
ke dalam tabel. Jika Anda memiliki bidang peningkatan otomatis id
daripada MySQL akan membuat id secara otomatis untuk Anda.mysql_real_escape_string()
lolos dari nilai untuk kamu. Selalu kelilingi $var
. Anda dalam kueri dengan '
tanda kutip tunggal atau mysql_real_escape_string()
akan tidak work! Dan jangan pernah menggunakannya untuk nama kolom/tabel atau database, hanya untuk nilai.
Lihat:pertanyaan ini untuk info lebih lanjut:
Injeksi SQL secara umum:Bagaimana cara injeksi SQL dari "Bobby Tables " Karya komik XKCD?
melindungi dari injeksi SQL saat menggunakan nama tabel dinamis:Bagaimana cara mencegah injeksi SQL dengan nama tabel dinamis?