Mysql
 sql >> Database >  >> RDS >> Mysql

PHP / MYSQL Pulsante Aggiungi alla colonna

Cambia il tuo codice in questo per renderlo sicuro e funzionale:

<?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!";

?>

Nota che non è necessario inserire un id nel tavolo. Se hai un campo di incremento automatico id di quanto MySQL creerà automaticamente un ID per te.
mysql_real_escape_string() sfugge a valori per te. Circonda sempre il tuo $var nella query con ' virgolette singole o mysql_real_escape_string() non lavoro! E non usarlo mai per i nomi di colonne/tabelle o database, solo per i valori.

Vedi:queste domande per maggiori informazioni:

SQL injection in generale:Come funziona l'SQL injection dalle "Bobby Tables" " Lavoro a fumetti XKCD?
protezione contro SQL injection quando si utilizzano nomi di tabelle dinamici:Come impedire l'iniezione SQL con nomi di tabelle dinamici?