Вмъкване на данни в MySQL таблица чрез PHP скрипт
Съдържание
В тази статия продължаваме с уроците за управление на MySQL бази данни чрез PHP скрипт като ползваме двете най-актуални разширения MySQLi (Procedural и Object Оriented) и PDO Object Оriented.
След като създадохме база данни и таблица, можем да започнем да добавяме данни в тях.
Ето някои правила за синтаксиса, които да следвате:
- SQL заявката трябва да бъде поставена в кавички в PHP скрипта;
- Стойностите на низовете в SQL заявката трябва да бъдат в кавички;
- Цифровите стойности не трябва да са в кавички, същото важи и за NULL.
Изразът (командата) INSERT INTO
се използва за добавяне на нови записи към таблица в MySQL:
INSERT INTO table_name (column1, column2, column3,...)
VALUES (value1, value2, value3,...)
В предишната глава създадохме празна таблица с име guests с пет колони: id, firstname, lastname, email и regdate. Сега нека попълним таблицата с данни.
Забележка: Ако колоната е AUTO_INCREMENT
(както колона id) или TIMESTAMP
(както колона regdate), не е необходимо да се посочва в SQL заявката - MySQL автоматично ще добави стойността.
Следните примери добавят нов запис към таблицата guests.
Вмъкване на данни в таблица с MySQLi Object-oriented
<?php
include 'dbvar.php';
// Create connection
$conn = new mysqli($servername, $username, $password, $database);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO newsletterMysqliOBJ (firstname, lastname, email)
VALUES ('John', 'Johnson', 'john@example.com')";
if ($conn->query($sql) === TRUE) {
echo "New record created successfully - newsletterMysqliOBJ";
} else {
echo "Error: " . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
Вмъкване на данни в таблица с MySQLi Procedural
<?php
include 'dbvar.php';
// Create connection
$conn = mysqli_connect($servername, $username, $password, $database);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$sql = "INSERT INTO newsletterProcedural (firstname, lastname, email)
VALUES ('John', 'Johnson', 'john@example.com')";
if (mysqli_query($conn, $sql)) {
echo "New record created successfully - newsletterProcedural";
} else {
echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}
mysqli_close($conn);
?>
Вмъкване на данни в таблица с PDO
<?php
include 'dbvar.php';
try {
$conn = new PDO("mysql:host=$servername;dbname=$database", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "INSERT INTO newsletterPDO (firstname, lastname, email)
VALUES ('John', 'Johnson', 'john@example.com')";
// use exec() because no results are returned
$conn->exec($sql);
echo "New record created successfully - newsletterPDO";
}
catch(PDOException $e)
{
echo $sql . "<br>" . $e->getMessage();
}
$conn = null;
?>
Тест на кода от примерите
Добавяме трите блока с PHP код във файл mysql-insert.php
и зареждаме файла като URL:
http://icn-test.net/mysql-insert.php
В phpMyAdmin можем да видим, че и в трите таблици реда със записите е добавен успешно:
В друга статия от тази поредица ще ви покажем как може да въвеждаме повече от един запис в MySQL таблица.