Блог веб разработки

Блог веб-разработки статьи | видеообзоры | исходный код

база данных php

Всем доброго времени суток и приступим! Самое первое что нам необходимо сделать для работы с базой данных, это непосредственно подключиться к ней.

За подключение к базе отвечает следующий объект:

$mysqli = new mysqli($host,$user,$password,$db);

здесь мы создали объект $mysqli класса mysqli который отвечает за соединение с базой данных. В качестве аргументов данный класс принимает четыре обязательных параметра.

$host - имя хоста

$user - имя пользователя базы данных

$user - пароль базы данных

$db - название базы данных

Далее как правило мы первым же sql запросом должны установить кодировку.Для отправки $sql запросов нужно воспользоваться методом query нашего объекта $mysqli.

$sql = 'SET NAMES UTF8';
 $mysqli->query($sql);

Мы в переменной $sql сформировали sql-запрос и с помощью метода query отправили его к базе данных.

Кстати для того чтобы проверить кодировку мы можем воспользоваться методом get_charset()

$mysqli->get_charset();

и нам выведется вся доступная информация о кодировке соединения.

Едем дальше. Для обработки результатов выполнения sql - запросов мы можем пользоваться следующими методами:

$res = $mysqli->query($sql);
$row = $res->fetch_assoc();

C помощью метода fetch_assoc() мы получаем результат в виде одной строки, который вернул sql - запрос, преобразованный в ассоциативный массив. Если же мы хотим получить все строки нашего запроса, тогда нам необходимо сделать перебор c помощью цикла while.

$array = array();
while($row = $res->fetch_row()){
   $array[] = $row;
}

print_r($array);

в результате в массиве $array у нас будут содержаться все строки нашего запроса.

Однако мы можем поступить намного проще:

$res->fetch_all();

метод fetch_all() выводит все строки нашего запроса в виде ассоциативного массива.

Если же нам необходимо получить одну строку из базы данных мы можем воспользоваться методом fetch_row():

$res->fetch_row()

Данный метод вернет одну строку в виде ассоциативного массива.

Теперь рассмотрим два полезных свойства:

$field_count  = $res->field_count;
$res->num_rows;

c помощью свойства field_count мы узнаем количество полей таблицы к которой адресован sql-запрос, а с помощью num_rows количество строк.

При составлении и отправке запросов могут возникать ошибки. Поэтому в класс mysqli предусмотрены свойства которые предоставляют информацию об ошибке:

$mysqli->errno;

свойство errno возвращает код возникшей ошибки.

$mysqli->error_list;

error_list возвращает информацию об ошибке в виде массива.

$mysqli->error;

error возвращает описание последней ошибки.

Еще одно полезное свойство:

$mysqli->insert_id;

insert_id c помощью него мы можем получить уникальный идентификатор новой добавленной строки. Отмечу что данное свойство доступно только после процесса добавления.

$mysqli->affected_rows;

Данное свойство возвращается количество затронутых строк(выбранных, измененных, добавленных и удаленных)

И напоследок, любые данные пришедшие от пользователя необходимо обрабатывать. Это справедливо и при формировании sql-запроса, к примеру мы хотим добавить нового пользователя:

$user = $mysqli->real_escape_string($user);
$password = $mysqli->real_escape_string($password);
$sql = 'INSERT INTO  `user` SET `login`="'.$user.'", "'.$password.'"';
$mysqli->query($sql);

При формировании sql-запроса мы обработали наши переменные с помощью метода real_escape_string(). Данный метод экранирует специальные символы sql выражений.

Вот в принципе и все что я хотел вам рассказать. Сегодня мы рассмотрели основные, часто используемые методы и свойства класса mysqli который позволяет нам работать с базами данных.

Желаю вам удачи и успехов!

Оцените статью

Еще статьи

расширения js

PHP буфер

Коммиты GIT

Ветки GIT

css отражение

details html

out of range

Как я пришел к этому.

Комментарии

Проверочный код

В данном разделе пока нет комментариев!

История

    ПОДПИСКА

    • Подпишись и получай информацию о выходе новых статей на почту! Просто введите свою почту, нажмите кнопку подписаться. На почту должно будет прийти сообщение с потверждением подписки. Если сообщение не пришло проверьте раздел спам или попробуйте другую почту. Также по всем техническим проблемам вы можете написать в поддержку

    НОВОСТИ

    • Всем привет! Запустил новый сервис для поиска и бесплатного скачивания, прослушивания аудиокниг. Здесь вы можете найти множество литературы и прослушать ее. Вскоре возобновлю написание статей.