PHP MySQL Insert Into

INSERT INTO-sætningen bruges til at indsætte nye poster i en database tabel.

Indsæt data i database tabel

INSERT INTO-sætningen bruges til at tilføje nye poster til en database tabel.

Syntaks

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

Du kan også specificere de kolonner, du vil indsætte data i:

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

Kommentar:SQL-sætninger er ikke følsomme over for store og små bogstaver. INSERT INTO er det samme som insert into.

For at få PHP til at udføre denne sætning, skal vi bruge mysql_query() funktionen. Denne funktion bruges til at sende en forespørgsel eller kommando til en MySQL-forbindelse.

Eksempel

I de tidligere kapitler oprettede vi en tabel kaldet "Persons" med tre kolonner: "Fornavn", "Efternavn" og "Alder". Vi bruger samme tabel i dette eksempel. Følgende eksempel tilføjer to nye poster til "Persons"-tabellen:

<?php
$con = mysql_connect("localhost","peter","abc123");
hvis (!$con)
  {
  die('Kunne ikke forbinde: ' . 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);
?>

Indsæt data fra skemaet i databasen

Nu opretter vi et HTML-skema, som kan indsætte nye poster i "Persons"-tabellen.

Dette er HTML-skemaet:

<html>
<body>
<form action="insert.php" method="post">
Fornavn: <input type="text" name="firstname" />
Efternavn: <input type="text" name="lastname" />
Alder: <input type="text" name="age" />
<input type="submit" />
</form>
</body>
</html>

Når brugeren klikker på submit-knappen i HTML-formularen i eksemplet, sendes formulardataene til "insert.php". Filen "insert.php" forbinder med databasen og henter værdierne fra formularen via $_POST-variablen. Derefter udfører mysql_query()-funktionen INSERT INTO-sætningen, og et nyt record tilføjes til databasetabellen.

Her er koden til "insert.php"-siden:

<?php
$con = mysql_connect("localhost","peter","abc123");
hvis (!$con)
  {
  die('Kunne ikke forbinde: ' . mysql_error());
  }
mysql_select_db("my_db", $con);
$sql="INSERT INTO Persons (FirstName, LastName, Age)
VALUES
('$_POST[firstname]','$_POST[lastname]','$_POST[age]')";
hvis (!mysql_query($sql,$con))
  {
  die('Fejl: ' . mysql_error());
  }
echo "1 record added";
mysql_close($con)
?>