понедельник, 28 апреля 2008 г.

Подключение (connect) к MySQL средствами PHP для чайников - Курилка.co.ua

Что такое MySQL и зачем он нужен?

MySQL (произносится «Май Эс Кью Эль», сленг. «мускул») - свободная система управления базами данных (СУБД).

Теперь, когда мы знаем, что такое MySQL, необходимо разобраться с вопросом: «зачем он нужен?» В некоторых случаях, когда речь идет о малом объеме данных и незначительной степени обработки, использование СУБД может быть излишним, но не менее удобным. Решение в каждом случае нужно принимать исходя из соответствующей ситуации: наличие MySQL, нагрузка на сервер, степень и объём обработки данных и т.д.

Подключение (connect) к MySQL средствами PHP для чайников

В том случае, если решено использовать СУБД MySQL, а языком программирования выбран PHP, давайте разберемся каким образом можно произвести подключение СУБД в нашем скрипте. Для этого существует функция mysql_connecnt(), которую мы и рассмотрим в сокращенном виде, но зато с примерами.

Функция mysql_connecnt()

mysql_connecnt() – открывает соединение с сервером MySQL и возвращает его указатель или false при неудаче.

Синтаксис функции mysql_connecnt()

resource mysql_connect([ string $server [, string $username [,string $password]]])

Выше приведен урезанный вариант синтаксиса функции mysql_connecnt(). Здесь рассмотрены три основные строковые (string) переменные, которых обычно хватает для работы.

  • $server - сокет (хост) к которому производится подключение. Значение переменной не имеет никакого отношение к домену Вашего сайта. Название и порт $server зависят от настроек самого сервера. Обычно, эта переменная имеет значение localhost, что можно изменить в настройках PHP.
  • $username - имя пользователя владельца процесса сервера. Значение переменной не имеет никакого отношения к логину доступа к панели управления Вашим сайтом, FTP и т.д. Хотя, в некоторых случаях, может и совпадать. Все зависит от настроек сервера
  • $password - пароль владельца процесса сервера.

Если говорить о чем вроде сборки Денвер для разработки сайтов на «домашней» (локальной) Windows-машине без необходимости выхода в Интернет, то (по умолчанию) пример подключение к MySQL может иметь следующий вид:

<?php $link = @mysql_connect("localhost","root","") or die("Could not connect: " . mysql_error()); ?>

Здесь есть масса мелких деталей, на которые стоит обратить внимание. Разберем их:

  1. Переменной $link присваивается значение указателя соединения с сервером MySQL или false если произвести подключение не удалось. В дальнейшем это значение этой переменной, как указателя соединения, может быть использовано в ряде PHP функций по работе с СУБД MySQL.
  2. Перед функцией mysql_connecnt() поставлен символ «собака» @ позволяющий подавить вывод сообщения об ошибке, вроде:

    Warning: mysql_connect() [function.mysql-connect]: Access denied for user ‘ODBC’@'localhost’ (using password: NO) in Z:\home\test1.ru\www\connect.php on line 2

    Это вполне приемлемо, если Вы решили взять процесс обработки ошибок на себя, но не обязательно. Следующий нюанс относится именно к этому вопросу.

  3. После функции mysql_connecnt() поставлен оператор or (ИЛИ) позволяющий в случае возвращения функцией значения false, т.е. когда произвести подключение не удалось, выполнить другое действие. В нашем случае это функция die(), которая выводит сообщение и обрывает работу нашего скрипта. Следующий нюанс относится именно к вопросу сообщения.

    Однако, стоит уточнить, что такой вариант не обязательный. Потом мы рассмотрим случай с обработкой ошибки по значению переменной $link.

  4. Как мы уже выяснили, наш пример, в случае невозможности произвести подключение к MySQL выведит сообщение и оборвет работу скрипта. Как таковой сообщение может быть любым или вообще не быть. В рассматриваемом примере это текст: «Could not connect: » - и значение функции mysql_error() - возвращает строку ошибки последней операции с MySQL, к примеру:

    Access denied for user ‘ODBC’@'localhost’ (using password: NO)

    Или что-то в этом роде – зависит от возникшей ошибки. Также, здесь можно использовать и функцию mysql_errno() - возвращает численный код ошибки выполнения последней операции с MySQL, но это уже на Ваше усмотрение.

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

&lt?php echo "<p>Header</p>"; $link = @mysql_connect("localhost"); if ( !$link ) {   echo "Could not connect: " . mysql_error(); } else {   echo "Connect OK."; } echo "<p>Fotter</p>"; ?>

Как таковой, и здесь можно комбинировать на свое усмотрение, но надеюсь - идея понятна. Будет выведена надпить «Header». Затем либо сообщение об ошибке, либо «Connect OK». Ну и в конце «Fotter». Конечно, на этом все не заканчивается. В дальнейшем я планирую опубликовать и другие заметки из цикла «для чайников». В конце концов, простые вещи становятся простыми, когда уловил концепцию и понимаешь, что и как работает. Спасибо за внимание.

Link - wmas - Mon, 28 Apr 2008 03:52:39 GMT - Feed (1 subs)
Visit here to subscribe to these comments
Sent using SendMeRss.com.
Visit here to unsubscribe.
Recommended Feeds/Actions

Предлагаю ознакомиться с аналогичными статьями:



Комментариев нет: