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 />';
}
devreadwrite.com



Подборка адаптивных шаблонов для вашей CMS
Статьи по
Как получить и установить HTTPS сертификат на сайта

Комментарии
Комментарии отсутствуют, Вы можете быть первым