PHP MySQL Insert Into

De INSERT INTO-statement wordt gebruikt om nieuwe records in een database tabel in te voegen.

Gegevens invoegen in database tabel

De INSERT INTO-statement wordt gebruikt om nieuwe records toe te voegen aan een database tabel.

Syntax

INSERT INTO table_name
VALUES (value1, value2,...)

U kunt ook bepalen welke kolommen u wilt gebruiken om gegevens in te voegen:

INSERT INTO table_name (column1, column2,...)
VALUES (value1, value2,...)

Opmerking:SQL-statementen zijn niet gevoelig voor hoofdletters. INSERT INTO is hetzelfde als insert into.

Om deze PHP-statement uit te voeren, moeten we mysql_query() functie gebruiken. Deze functie wordt gebruikt om een query of opdracht naar een MySQL-verbinding te sturen.

Voorbeeld

In de vorige hoofdstukken hebben we een tabel genaamd "Persons" gecreëerd, met drie kolommen: "Voornaam", "Achternaam" en "Leeftijd". We zullen dezelfde tabel gebruiken in dit voorbeeld. Het volgende voorbeeld voegt twee nieuwe records toe aan de tabel "Persons":

<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
  {
  die('Kan niet verbinden: ' . mysql_error());
  }
mysql_select_db("my_db", $con);
mysql_query("INSERT INTO Persons (FirstName, LastName, Age) 
VALUES ('Peter', 'Griffin', '35')");
mysql_query("INSERT INTO Persons (FirstName, LastName, Age) 
VALUES ('Glenn', 'Quagmire', '33')");
mysql_close($con);
?>

Gegevens van het formulier invoegen in de database

Nu maken we een HTML-formulier, dat nieuwe records kan invoegen in de tabel "Persons".

Dit is dit HTML-formulier:

<html>
<body>
<form action="insert.php" method="post">
Voornaam: <input type="text" name="firstname" />
Achternaam: <input type="text" name="lastname" />
Leeftijd: <input type="text" name="age" />
<input type="submit" />
</form>
</body>
</html>

Wanneer de gebruiker op de submit knop klikt in het HTML formulier, worden de formuliergegevens naar "insert.php" verzonden. "insert.php" maakt verbinding met de database en haalt de waarden op via de $_POST variabele van het formulier. Vervolgens voert de mysql_query() functie het INSERT INTO statement uit en wordt een nieuw record toegevoegd aan de database tabel.

Hieronder is de code van de "insert.php" pagina:

<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
  {
  die('Kan niet verbinden: ' . mysql_error());
  }
mysql_select_db("my_db", $con);
$sql="INSERT INTO Persons (FirstName, LastName, Age)
WAARDEN
('$_POST[firstname]','$_POST[lastname]','$_POST[age]')";
if (!mysql_query($sql,$con))
  {
  die('Fout: ' . mysql_error());
  }
echo "1 record toegevoegd";
mysql_close($con)
?>