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

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

webfanat вконтакте webfanat youtube

база данных php

база данных 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 который позволяет нам работать с базами данных.

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

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

Статьи

Комментарии

Внимание!!! Комментарий теперь перед публикацией проходит модерацию

Все комментарии отправлены на модерацию

Реклама

Запись экрана

Данное расширение позволяет записывать экран и выводит видео в формате webm