Verander uw code hierin om het veilig en functioneel te maken:
<?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!";
?>
Merk op dat u geen id
hoeft in te voeren de tafel in. Als u een autoincrement-veld id
. heeft dan zal MySQL automatisch een id voor je aanmaken.mysql_real_escape_string()
ontsnapt aan waarden voor jou. Omring altijd uw $var
in de zoekopdracht met '
enkele aanhalingstekens of mysql_real_escape_string()
zal niet werk!En gebruik het nooit voor kolom-/tabel- of databasenamen, alleen voor waarden.
Zie:deze vragen voor meer info:
SQL-injectie in het algemeen:Hoe werkt de SQL-injectie van de "Bobby Tables " XKCD stripwerk?
bescherming tegen SQL-injectie bij gebruik van dynamische tabelnamen:Hoe SQL-injectie met dynamische tabelnamen voorkomen?