Insert Into MySQL w PHP

Zapytanie INSERT INTO służy do wstawiania nowych rekordów do tabeli w bazie danych.

Wstawianie danych do tabeli w bazie danych

Zapytanie INSERT INTO służy do dodawania nowych rekordów do tabeli w bazie danych.

Gramatyka

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

Możesz również określić, które kolumny mają być wstawione do danych:

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

Komentarz:Zapytania SQL są nieczułe na wielkość liter. INSERT INTO jest takie samo jak insert into.

Aby PHP wykonał to polecenie, musimy użyć funkcji mysql_query(). Funkcja ta służy do wysyłania zapytań lub poleceń do połączenia z MySQL.

Przykład

W poprzednich rozdziałach stworzyliśmy tabelę o nazwie "Persons" z trzema kolumnami: "Firstname", "Lastname" oraz "Age". W tym przykładzie użyjemy tej samej tabeli. Poniższy przykład dodaje dwa nowe rekordy do tabeli "Persons":

<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
  {
  die('Nie można połączyć się: ' . 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);
?>

Wstaw dane z formularza do bazy danych

Teraz, tworzymy HTML formularz, który może wstawiać nowe rekordy do tabeli "Persons".

Oto ten HTML formularz:

<html>
<body>
<form action="insert.php" method="post">
Imię: <input type="text" name="firstname" />
Nazwisko: <input type="text" name="lastname" />
Wiek: <input type="text" name="age" />
<input type="submit" />
</form>
</body>
</html>

Kiedy użytkownik kliknie przycisk wysyłania w HTML formularzu, dane formularza są wysyłane do "insert.php". Plik "insert.php" łączy się z bazą danych i pobiera wartości z formularza za pomocą zmiennej $_POST. Następnie funkcja mysql_query() wykonuje polecenie INSERT INTO, co powoduje dodanie nowego rekordu do tabeli w bazie danych.

Poniżej znajduje się kod strony "insert.php":

<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
  {
  die('Nie można połączyć się: ' . mysql_error());
  }
mysql_select_db("my_db", $con);
$sql="INSERT INTO Persons (FirstName, LastName, Age)
VALUES
('$_POST[firstname]','$_POST[lastname]','$_POST[age]')";
if (!mysql_query($sql,$con))
  {
  die('Błąd: ' . mysql_error());
  }
echo "1 record added";
mysql_close($con)
?>