HTML, Excel, Word, SEOОсновы PHP ⇒ Отключение

PHP для "чайников"

Инструменты
Выбираем IDE
Выбираем Web-сервер
Выбираем СУБД
Структура языка PHP
Первый шаг
Синтаксис
Типы данных
Переменные и константы
Операторы
Выражения
Управляющие структуры
Функции
Классы
Исключения
Ошибки
Массивы
Глобальные массивы
Cookies
Сессии
Загрузка файлов
Работа с файлами
Работа с файлами на диске
Работа с данными в файле
Пример управления файлами
Работа с базами данных
Подключение
Анализ результатов
Выполнение запросов
Отключение
Пример: отслеживание пользователей
Работа в сети
Отправка почты
Безопасность
HTTP-аутентификация
Защита логином и паролем
Автоматизация
Регулярные выражения в PHP
Интеграция
PHP и JavaScript



Отключение


Автор: Артемьев Сергей Игоревич
ICQ: 438856621
email: _spin_@bk.ru

По-умолчанию, MySQL выполняет запросы в буферизованном режиме, т.е. запрос сначала полностью выполняется на сервере, потом все результаты в полном объёме передаются клиентскому скрипту. Это значит, что интерпретатор расходует память для их хранения и обработки.


В режиме отключенной буферизации данные интерпретатором не хранятся и стрираются сразу после использования. Как следствие этого - невозможно применить функции mysql_data_seek() и mysql_num_rows(), т.к. интерпретатор может получить доступ только к текущей строке и не знает, сколько ещё строк будет прочитано из базы данных.


Обычно буферизацию отключают, когда скрипты обрабатывают очень большие объёмы данных или результаты длительных запросов. Выполнить запрос без буферизации позволяет функция mysql_unbuffered_query(), которая по синтаксису и способу применения полностью аналогична mysql_query(), за исключением буфферизации результатов.

Если вы обрабатываете большие объёмы данных, то вам непременно стоит уделять побольше внимания своевременному закрытию подключений и освобождению данных. Эти операции рекомендуется проводить как можно скорее после обработки данных.

Для освобождения результатов запроса используется функция mysql_free_result(), которой необходимо передать ссылку на результаты запроса.

<?php
	...
	$qry = mysql_query($sql, $dblink);
	//
	// обработка результатов запроса
	//
	mysql_free_result($qry);
    ...
?>      

Несмотря на то, что PHP автоматически освобождает все ресурсы при завершении скрипта, стоит приучить себя к аккуратности и всегда производить чистку ресурсов вручную. Такая привычка очень поможет вам впоследствии при разработке сложных скриптов.

Последняя операция, которую надо сделать перед завершением скрпита - отключиться от базы данных. Для этого надо вызвать функцию mysql_close(), передав ей ссылку на подключение.

<?php
	
	$qry = mysql_connect($server, $user_name, $password);
	//
	// выполнение запросов
	//
	// обработка результатов запроса
	//
	mysql_close($dblink);
    
?>      

Если в процессе работы возникает необходимость сменить имя пользователя в подключении к базе данных, то можно не выполнять отключение/подключение,а воспользоваться функцией mysql_change_user(). Её необходимо указать новые имя пользователя и пароль.

<?php
	$new_user = 'user';
	$new_password = 'password';
	$new_database = 'SecondDB';
	
	$dblink = mysql_change_user($user, $password, $database, $dblink); 

	if($dblink)
		echo 'Пользователь изменён';
	else
		echo 'Ошибка смены пользователя:' . mysql_error();

?>

Как видите, в применении баз данных в PHP нет ничего сложного и сверхъестественного. Немного потренировавшись, вы сможете с лёгкостью писать функциональные и удобные скрипты с импользованием MySQL или любой другой СУБД.



В начало страницы



В начало страницы