После создания базы данных и таблицы мы можем начать добавлять в них данные. При этом необходимо соблюдать некоторые правила синтаксиса:
- SQL-запрос должен быть заключен в кавычки в PHP
- Строковые значения внутри SQL-запроса должны быть заключены в кавычки
- Числовые значения не должны заключаться в кавычки
- Слово
NULLне должно быть заключено в кавычки
Оператор INSERT INTO используется для добавления новых записей в таблицу MySQL:
INSERT INTO имя_таблицы
(column1, column2, column3, ...)
VALUES
(value1, value2, value3, ...)В предыдущей главе мы создали пустую таблицу с именем «MyGuests» с пятью столбцами: 'id', 'firstname', 'lastname', 'email' и 'reg_date'. Теперь давайте заполним таблицу данными.
Примечание: если столбец является
AUTO_INCREMENT(как столбец «id») илиTIMESTAMPс обновлением по умолчаниюcurrent_timesamp(как столбец «reg_date»), его не нужно указывать в SQL-запросе;MySQLавтоматически добавит значение.
Следующие примеры добавляют новую запись в таблицу «MyGuests»:
<?php
$servername = 'localhost';
$username = 'username';
$password = 'password';
$dbname = 'myDB';
// Создание подключения
$conn = new mysqli($servername, $username, $password, $dbname);
// Проверка подключения
if ($conn -> connect_error) {
die("Connection failed: {$conn -> connect_error}");
}
$sql = 'INSERT INTO MyGuests (firstname, lastname, email)
VALUES ("John", "Doe", "john@example.com");';
if ($conn -> query($sql) === true) {
print('New record created successfully');
} else {
print("Error: {$sql}<br>{$conn -> error}");
}
$conn -> close();<?php
$servername = 'localhost';
$username = 'username';
$password = 'password';
$dbname = 'myDB';
// Создание подключения
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Проверка подключения
if (!$conn) {
die('Connection failed: ' . mysqli_connect_error());
}
$sql = 'INSERT INTO MyGuests (firstname, lastname, email)
VALUES ("John", "Doe", "john@example.com");';
if (mysqli_query($conn, $sql)) {
print('New record created successfully');
} else {
print("Error: {$sql}<br>" . mysqli_error($conn));
}
mysqli_close($conn);<?php
$servername = 'localhost';
$username = 'username';
$password = 'password';
$dbname = 'myDB';
try {
$conn = new PDO(
"mysql:host={$servername};dbname={$dbname}",
$username,
$password
);
// установка режима ошибки PDO на исключение
$conn -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = 'INSERT INTO MyGuests (firstname, lastname, email)
VALUES ("John", "Doe", "john@example.com");';
// использование exec(), потому что результаты не возвращаются
$conn -> exec($sql);
print('New record created successfully');
} catch(PDOException $e) {
print("{$sql}<br>{$e -> getMessage()}");
}
$conn = null;