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

PHP / MYSQL Tilføj knap til kolonne

Skift din kode til denne for at gøre den sikker og funktionel:

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

?>

Bemærk, at du ikke behøver at indsætte et id ind i bordet. Hvis du har et autoincrement felt id end MySQL vil automatisk oprette et id til dig.
mysql_real_escape_string() undslipper værdier for dig. Omgiv altid din $var i forespørgslen med ' enkelte anførselstegn eller mysql_real_escape_string() vil ikke arbejde! Og brug det aldrig til kolonne-/tabel- eller databasenavne, kun til værdier.

Se:disse spørgsmål for mere info:

SQL-injektion generelt:Hvordan fungerer SQL-injektionen fra "Bobby Tables" " XKCD tegneseriearbejde?
beskyttelse mod SQL-injektion ved brug af dynamiske tabelnavne:Hvordan forhindrer man SQL-injektion med dynamiske tabelnavne?



  1. Liste over områder, der understøttes af Oracle-databasen

  2. Fejlretning af private procedurer

  3. Ændring af år i mysql dato

  4. javafx forbindelse til mysql