Получение данных из базы данных 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Получение данных из базы данных



Как уже говорилось ранее, получение данных из одной или нескольких таблиц базы данных производится с помощью команды (запроса) SELECT языка SQL. Основной синтаксис запроса SELECT для получения данных следующий:

 

SELECT список столбцов FROM список таблиц

 

Наиболее простой запрос для считывания данных одной таблицы:

 

SELECT * FROM имя_таблицы

 

Звездочка эквивалентна перечислению имен всех столбцов. Если требуется, чтобы были получены только некоторые столбцы, можно ограничить запрос примерно так:

 

SELECT Login, Password FROM register

 

Этот запрос требует, чтобы была возвращена информация только двух столбцов с логинами и паролями пользователей. Нужно понимать, что такой запрос не ограничивает число получаемых записей – они получаются все, а ограничивается только получаемые столбцы для этих записей – полученная результирующая таблица будет состоять только из двух столбцов, но изо всех записей.

Ограничение количества получаемых записей достигается добавлением в запрос предложения WHERE:

 

SELECT * FROM register WHERE Login='Eugen'

 

Этот запрос получает все поля записи, в которой значение столбца с именем Login равно «Eugen».

Как уже говорилось ранее, доступ к данным, полученным с помощью запроса SELECT, в программе на PHP осуществляется с помощью идентификатора результата, возвращаемого функцией mysql_query(), например.

 

$query = "SELECT Login, Password FROM register

WHERE Login='Eugen'";

$result = mysql_query($query, $link1);

print "Ваш пароль = ".mysql_result($result, 0, 1).\n";

 

Удаление данных из базы данных

Команда DELETE языка SQL обеспечивает удаление записей таблицы базы данных. Основной синтаксис команды DELETE такой:

 

DELETE FROM имя_таблицы WHERE имя_столбца=значение

 

Предложение WHERE не является обязательным, но если оно опущено, будут удалены из таблицы все записи. Необходимо также понимать, что удаленные записи никоим образом нельзя восстановить, если не имеется резервной копии базы данных.

В качестве предохранительной меры, если хочется удалить только одну запись из таблицы, лучше добавить в запрос предложение LIMIT:

 

DELETE FROM имя_таблицы WHERE имя_столбца=значение LIMIT 1

 

Это предложение гарантирует, что будет удалено не более одной записи. После определения запроса на удаление, он выполняется, используя функцию mysql_query() function, так же как и для других запросов, например:

 

$query = "DELETE FROM register WHERE Login='Eugen'";

$result = mysql_query($query, $link1);

 

Чтобы проверить, как сработал запрос DELETE, можно использовать функцию mysql_affected_rows(). Эта функция возвращает число записей, затронутых запросами INSERT, DELETE или UPDATE.

 

Обновление данных в базе данных

Для изменения значений полей записи используется команда UPDATE языка SQL. Синтаксис команды следующий:

 

UPDATE имя_таблицы SET имя_столбца1= значение,

имя_столбца2= значение,

WHERE имя_столбца=значение

 

Как и с любым другим запросом, если значение является строкой, оно должно заключаться в одиночные кавычки:

 

UPDATE register SET FN = 'Алексей', SN='Иваненко'

WHERE Login='Alex'

 

Как и с запросом DELETE, предложение WHERE нужно использовать, чтобы ограничить определить записи, значения которых изменяются. Если этого не сделать, все записи в таблице базы данных будут обновлены. Чтобы проверить как работает обновление, можно воспользоваться функцией mysql_affected_rows(), которая возвратит число обновленных записей, например:

 

$query = "UPDATE register SET FN = 'Алексей', SN='Иваненко'

WHERE Login='Alex'";

$result = mysql_query($query, $link1);

print "Обновилось записей: ".mysql_affected_rows($link1).\n";

 

 

Сессии (сеансы) в PHP

Сессии и cookies предназначены для хранения сведений о пользователях при переходах между несколькими страницами. При использовании сессий данные сохраняются во временных файлах на сервере. Файлы с cookies хранятся на компьютере пользователя, и по запросу отсылаются броузером серверу.

Использование сессий и cookies очень удобно и оправдано в таких приложениях как Интернет-магазины, форумы, доски объявлений, когда, во-первых, необходимо сохранять информацию о пользователях на протяжении нескольких станиц, а, во-вторых, своевременно предоставлять пользователю новую информацию.

Протокол HTTP является протоколом "без сохранения состояния". Это означает, что данный протокол не имеет встроенного способа сохранения состояния между двумя транзакциями. Т. е., когда пользователь открывает сначала одну страницу сайта, а затем переходит на другую страницу этого же сайта, то основываясь только на средствах, предоставляемых протоколом HTTP невозможно установить, что оба запроса относятся к одному пользователю. Т. о. необходим метод, при помощи которого было бы отслеживать информацию о пользователе в течение одного сеанса связи с Web-сайтов. Одним из таких методов является управление сеансами при помощи предназначенных для этого функций. Для нас важно то, что сеанс по сути, представляет собой группу переменных, которые, в отличие от обычных переменных, сохраняются и после завершения выполнения PHP-сценария.

При работе с сессиями различают следующие этапы:

• открытие сессии,

• регистрация переменных сессии и их использование,

• закрытие сессии.

 

Открытие сессии

Самый простой способ открытия сессии заключается в использовании функции

 

bool session_start();

 

которая вызывается в начале PHP-сценария.

Эта функция проверяет, существует ли идентификатор сессии, и, если нет, то создает его. Если идентификатор текущей сессии уже существует, то загружаются зарегистрированные переменные сессии.

 



Поделиться:


Последнее изменение этой страницы: 2017-02-06; просмотров: 330; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.141.3.178 (0.009 с.)