Обучение HTML, Excel, Word. Как сделать свой сайт бесплатно

Microsoft Office

Сайтостроение

HTML

Программинг

Компьютер

Графика

Разное

· Основы Word
· Основы Excel
· Основы VBA
· Основы OpenOffice
· Как сделать сайт
· Свой сайт от А до Я
· Оптимизация сайта
· Шаблоны для сайта
· Обзор CMS
· Основы HTML
· HTML-теги
· Основы CSS
· Основы PHP
· Основы JavaScript
· Софт для сайта
· Что внутри ПК
· ПК для чайников
· Все о BIOS
· Web-графика
· САПР: AutoCAD
· Статьи
· Форум
· SEO-новости
Главная страница Карта сайта
Учебник PHP
Основы SQL
  1. Введение
  2. Инструменты
  3. Первый шаг
  4. Структура языка
  5. Массивы
  6. Глобальные массивы
  7. Cookies
  8. Сессии
  9. Загрузка файлов
  10. Работа с файлами
  11. Работа с базами данных
  12. Работа в сети
  13. Отправка почты
  14. Безопасность
  15. Автоматизация
  16. Регулярные выражения в PHP
  17. Интеграция
 



Подключение

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

Первое действие, которое надо сделать при работе с базой данных - выполнить подключение. Для этого вам потребуется знать имя сервера, название базы данных, имя пользователя и пароль. В некоторых случаях требуется ещё знать порт сервера, к которому подключен MySQL.


Подключение выполняется при помощи фукций mysql_connect() или mysql_pconnect():

<?php
	$server = 'localhost';
	$user = 'root';
	$password = 'P@ssw0rd';
	
	$dblink = mysql_connect($server, $user, $password); 

	if($dblink)
		echo 'Ошибка подключения к серверу баз данных';
	else
		die('Ошибка подключения к серверу баз данных');

	// Теперь в переменной $dblink содержится 
	// ссылка на временное подключение к базе данных
?>

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

<?php
	...
	$port = '12345';
	$server = 'localhost:' . $port;
	$dblink = mysql_connect($server, $user, $pass); 
	...
?>

Синтаксис функции mysql_pconnect() полностью аналогичен синтаксису mysql_connect():

<?php

	$dblink = mysql_pconnect($server, $user, $pass); 
	// Теперь в переменной $dblink содержится 
	// ссылка на постоянное подключение к базе данных

?>

Функция mysql_connect() открывает временное соединение, которое закрывается либо при вызове функции mysql_close(), либо автоматически при завершении скрипта. В свою очередь, функция mysql_pconnect() создаёт постянное подключение, которое остаётся открытым даже после завершения скрипта (буква "p" в имени означает "Persistent", т.е. "постоянный"). При повторном вызове mysql_pconnect() интерпретатор сначала пытается найти и использовать открытое ранее подключение, и только в случае неудачи открывает новое.

Следующий шаг - выбор базы данных при помощи функции mysql_select_db(). Эта функция указывает СУБД, что все последующие запросы надо выполнять с таблицами указанной базы данных:

<?php

	$database = 'myDatabase';
	$selected = mysql_select_db($database, $dblink); 
	if($selected)
		echo 'Подключение к базе данных прошло успешно';
	else
		die('База данных не найдена или отсутствует доступ');
?>

Здесь мы использовали функцию die() с единственным параметром - сообщением об ошибке. Вызов die() моментально прерывает выполнение скрипта и выводит указанное сообщение в браузер пользователя. Использовать die() желательно только в аварийных случаях, когда дальнейшее выполнение скрипта не имеет смысла. Например, если при загрузке форума оказывается, что база данных сообщений недоступна - дальнейшая загрузка теряет всякий смысл.

Начальное подключение выполнено, теперь надо настроить параметры соединения. Основной параметр, который желательно установить принудительно - кодовая страница (charset). Кодовая страница - это правило сопоставления символов различных языков. MySQL при работе с символами опирается на числовые коды символов, т.е. любая строка для сервера - это просто последовательность чисел. И именно кодовая страница определяет, какому символу соответствует то или иное число. Например, символ с кодом 196 - это буква "Д" в русской кодировке, "Дельта" в греческой и "Ä" в западноевропейской кодировке.

По-умолчанию, MySQL использует кодировки "latin1" (западноевропейская) , поэтому при попытке записать на сервер или считать с него данные в национальной кодировке (например, русский текст) - произойдёт конфликт сопоставлений и все конфликтующие символы будут заменены на знаки вопроса "?".

Установка кодовой страницы производится при помощи функции mysql_set_charset() или путём выполнения специализированных запросов SET:

<?php
	
	if (!function_exists('mysql_set_charset')) {
		function   mysql_set_charset($charset, $dblink)
		{
			return mysql_query("set names   $charset",$dlink);
  		}
  	}
	
	$mycharset = "cp1251";
	mysql_set_charset($charset, $dblink)
	
?>

В этом скрипте проверяется наличие функции mysql_set_charset(), и если она не найдена - определяется функция, выполняющая аналогичное дествие посредством SQL-запроса.

После выполнения этого скрипта и сервер баз данных и интерпретатор PHP будут рассматривать все передаваемые строковые данные как символы в кодировке cp1251 (Windows-кирилическая) и конфликтов сопоставления не возникнет. Если же необходимо обеспечить одновременную поддержку сразу нескольких языков - воспользуйтесь кодировкой utf8 (Юникод).

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

Для проверки подключения можно воспользоваться функцией mysql_ping(). Она возвращает true или false в зависимости от состояния соединения:

<?php
    if (!mysql_ping($dblink)) {
       echo 'Соединение с базой данных потеряно';
       
		// здесь можно попробовать 
       // повторно подключиться
    }
?>

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

Итак, мы получили доступ к базе данных и готовы получать и обрабатывать данные.

 

top




 




Спасибо, что заглянули на сайт. Надеюсь, Вам понравилось. Заходите еще. Здесь всегда рады вам :)
При копировании материалов, размещенных на сайте, ссылка на первоисточник обязательна.
Если понравился этот сайт..

© 2005-2012
Юрий Кордык All Rights Reserved

 

E-mail:
admin@on-line-teaching.com