Thay đổi mã của bạn thành mã này để đảm bảo an toàn và hoạt động:
<?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!";
?>
Lưu ý rằng bạn không cần phải chèn id
vào bảng. Nếu bạn có trường tự động tăng thêm id
hơn MySQL sẽ tự động tạo một id cho bạn.
mysql_real_escape_string()
thoát giá trị cho bạn. Luôn bao quanh $var
của bạn trong truy vấn với '
dấu ngoặc kép hoặc mysql_real_escape_string()
sẽ không và không bao giờ sử dụng nó cho các tên cột / bảng hoặc cơ sở dữ liệu, chỉ cho các giá trị.
Xem:những câu hỏi này để biết thêm thông tin:
Nói chung là tiêm SQL: Cách tiêm SQL từ "Bobby Tables "Tác phẩm truyện tranh XKCD?
bảo vệ chống lại việc đưa vào SQL khi sử dụng tên bảng động: Làm cách nào để ngăn chặn việc đưa vào SQL với tên bảng động?