sql >> Databáze >  >> RDS >> Mysql

PHP / MYSQL Přidat tlačítko do sloupce

Změňte svůj kód na tento, aby byl bezpečný a funkční:

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

?>

Všimněte si, že nemusíte vkládat id do stolu. Pokud máte pole automatického přírůstku id než MySQL automaticky vytvoří ID za vás.
mysql_real_escape_string() uniká hodnotám pro tebe. Vždy obklopte svůj $var v dotazu s ' jednoduché uvozovky nebo mysql_real_escape_string() nebude práce! A nikdy jej nepoužívejte pro názvy sloupců/tabulek nebo databází, pouze pro hodnoty.

Další informace naleznete v těchto otázkách:

SQL injection obecně:Jak funguje SQL injection z "Bobby Tables" " Komiksové dílo XKCD?
ochrana proti vložení SQL při použití dynamických názvů tabulek:Jak zabránit vkládání SQL pomocí dynamických názvů tabulek?



  1. Co je rychlejší, SELECT DISTINCT nebo GROUP BY v MySQL?

  2. Příklady LOCALTIME – MySQL

  3. Doctrine2:Nelze vybrat entitu prostřednictvím identifikačních proměnných bez výběru alespoň jednoho aliasu kořenové entity

  4. Přepíše MySQL při aktualizaci sloupec stejné hodnoty?