sql >> Databasteknik >  >> RDS >> Mysql

PHP / MYSQL Lägg till knapp i kolumn

Ändra din kod till denna för att göra den säker och funktionell:

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

?>

Observera att du inte behöver infoga ett id in i bordet. Om du har ett autoinkrementfält id MySQL kommer att automatiskt skapa ett id åt dig.
mysql_real_escape_string() undkommer värden till dig. Omge alltid din $var i frågan med ' enkla citattecken eller mysql_real_escape_string() kommer inte fungerar! Och använd den aldrig för kolumn-/tabell- eller databasnamn, bara för värden.

Se:dessa frågor för mer information:

SQL-injektion i allmänhet:Hur fungerar SQL-injektionen från "Bobby Tables" " XKCD komiskt arbete?
skydd mot SQL-injektion vid användning av dynamiska tabellnamn:Hur förhindrar man SQL-injektion med dynamiska tabellnamn?



  1. Så här grupperar du en rapport efter flera fält i Access 2016

  2. 'hämta' i PDO får bara ett resultat

  3. Generera SQL Skapa skript för befintliga tabeller med Query

  4. Välj skiftlägesokänslig med mysql, php och pdo