mysqli_connect: соединение с MySQL
Перед началом работы с базой данных необходимо открыть соединение с сервером СУБД. Для этого используеться функция mysqli_connect()
, она вернет ресурс соединения, который будет использоваться в дальнейшем для работы с MySQL. Базовый синтакиси функции mysqli_connect()
:
mysqli_connect(<адрес сервера>, <имя пользователя>, <пароль>, <имя базы данных>);
Установка соединения с БД
$con = mysqli_connect('localhost', 'user', 'pas', 'my_db_name');
Проверка установки соединения с БД
Перед продолжением работы, необходимо проверить подключение к БД. Если подключение не удалось, то функция mysqli_connect()
вернет false
.
$con = mysqli_connect('localhost', 'user', 'pas', 'my_db_name'); if ($con == false){ echo "Ошибка: Невозможно подключиться к MySQL " . mysqli_connect_error(); } else { echo "Соединение установлено успешно"; }
Соединение с БД устанавливается один раз за сценарий и используеться при все запросах к БД.
Установка кодировки
После установки соединения, желательно, явно указать кодировку обмена данными с БД. Сделать это можно при помощи функции mysqli_set_charset()
. Укажем кодировка utf8
:
mysqli_set_charset($con, 'utf8');
Выполнение запросов
Подготовительный этап закончен, теперь можно приступить к работе с данными БД. Для выполнения запроса используеться функция mysqli_query()
.
При запросах на изменение данных (
INSERT
, UPDATE
) результатом выполнения функции будет логическое значение true
или false
.
INSERT. Запрос на добавление записи
Рассмотрим простой запрос на добавление записи с несколькими значениями:
$sql = 'INSERT INTO `user` SET `name` = "Александр", `surname` = "Хмельницкий"'; $result = mysqli_query($con, $sql); if ($result == false) { echo 'Произошла ошибка при выполнении запроса'; } else { echo 'Запись успешно добавлена'; }
mysqli_insert_id: получить id добавленой записи
Чтобы получить id
добавленой записи и использовать в дальнейшем существует функция mysqli_insert_id()
.
Пример. Добавим новую запись в БД и запишем данные в связанную таблицу:
$sql = 'INSERT INTO `user` SET `name` = "Иван", `surname` = "Петров"'; $result = mysqli_query($con, $sql); if ($result == false) { echo 'Произошла ошибка при выполнении запроса'; } else { $userId = mysqli_insert_id($con); $sql = 'INSERT INTO user_data SET `user_id` = ' . $userId . ', date = "' . time() . '"'; $result = mysqli_query($con, $sql); if ($result == false) { echo 'Произошла ошибка при выполнении запроса'; } }
UPDATE. Запрос на обновление данных
Обновим одну запись:
$sql = 'UPDATE `user` SET `name` = "Саша" WHERE `id` = "1"'; $result = mysqli_query($con, $sql); if ($result == false) { echo 'Произошла ошибка при выполнении запроса'; }
Обновим все записи:
$sql = 'UPDATE `user` SET `name` = "Саша", `surname` = "Иванов"'; $result = mysqli_query($con, $sql); if ($result == false) { echo 'Произошла ошибка при выполнении запроса'; }
SELECT. Запрос на выборку данных
Выберем одну запись
mysqli_fetch_row()
- выбирает одну запись и помещает ее в массив:
$sql = 'SELECT `name`, `surname` FROM `user` WHERE `id` = "1"'; $result = mysqli_query($con, $sql); $row = mysqli_fetch_row($result); echo 'Имя: ' . $row[0] . '; Фамилия: . ' . $row[1] . '<br />';
mysqli_fetch_assoc()
- выбирает одну запись и помещает ее в ассоциативный массив:
$sql = 'SELECT `name`, `surname` FROM `user` WHERE `id` = "1"'; $result = mysqli_query($con, $sql); $row = mysqli_fetch_assoc($result); echo 'Имя: ' . $row['name'] . '; Фамилия: . ' . $row['surname'] . '<br />';
Выбирем несколько записей
mysqli_fetch_array()
. Каждый вызов функции mysqli_fetch_array() будет возвращать следующую запись из всего результирующего набора в виде ассоциативного массива:
$sql = 'SELECT `id`, `name`, `surname` FROM `user`'; $result = mysqli_query($con, $sql); while ($row = mysqli_fetch_array($result)) { echo 'Имя: ' . $row['name'] . '; Фамилия: . ' . $row['surname'] . '; ID: ' . $row['id'] . '<br />'; }
mysqli_fetch_all()
- вернет все записи удавлетворяющие условию сразу
$sql = 'SELECT `id`, `name` FROM `user`'; $result = mysqli_query($con, $sql); $rows = mysqli_fetch_all($result, MYSQLI_ASSOC); foreach ($rows as $row) { echo 'ID: ' . $row['id'] . '; Имя: ' . $row['name'] . '<br />'; }
Комментарии
Комментарии отсутствуют, Вы можете быть первым