Altere seu código para isso para torná-lo seguro e funcional:
<?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!";
?>
Observe que você não precisa inserir um
id
na mesa. Se você tiver um campo de incremento automático id
do que o MySQL criará automaticamente um id para você.mysql_real_escape_string()
escapa valores para você. Sempre envolva seu $var
na consulta com '
aspas simples ou mysql_real_escape_string()
não funciona! E nunca use para nomes de coluna/tabela ou banco de dados, apenas para valores. Veja:estas perguntas para mais informações:
Injeção de SQL em geral:Como funciona a injeção de SQL das "Bobby Tables" " Trabalho em quadrinhos XKCD?
proteção contra injeção de SQL ao usar nomes de tabelas dinâmicas:Como evitar injeção de SQL com nomes de tabela dinâmicos?