Большой архив статей, книг, документации по программированию, вебдизайну, компьютерной графике, сетям, операционным системам и многому другому
 
<Добавить в Избранное>    <Сделать стартовой>    <Реклама на сайте>    <Контакты>
  Главная Документация Программы Обои   Экспорт RSS E-Books
 
 

   Базы данных -> MySQL -> Работа с MySQL с использованием PHP.


Работа с MySQL с использованием PHP

   В настоящее время базы данных являются необходимой частью любого более-менее сложного вэб-проекта. Базы данных позволяют упростить и автоматизировать некоторые повседневные операции, увеличивают безопасность хранения, ускоряет поиск нужных данных. В некоторых случаях без базы данных просто невозможно обойтись - например интерактивная работа с посетителями - в качестве примера - каталоги, интернет-магазины, и другие проекты, где требуется постоянное обновление, дополнение данных. В качестве базы данных для вэб-сайта можно выбрать ту, которая наиболее подходит для ваших нужд и обеспечивает необходимый уровень защиты и скорости доступа. Выбор базы данных обусловлен также программными средствами, с помощью которых написаны страницы. Большую роль играет безопасность данных. Если, например, у вас большой интернет-магазин - то вам необходимо выбирать надежную базу, обеспечивающую надежную защиту и быстрый доступ к данным. Если же это просто каталог сайтов, то можно обойтись и более простой базой, скажем dBase, MySQL и др. Вообще выбор нужной базы данных это процесс учета множества факторов - скорости, объема данных, безопасности хранения, безопасности доступа, целостности данных и многих других. Также следует учесть стоимость - если у вас коммерческий проект, то потребуется лицензионная копия. После взвешивания всех за и против можно остановится на конкретном варианте.

   В качестве примера можно рассмотреть 2 популярные базы - Oracle и MySQL. Последняя не требует лицензии, распространяется с открытыми кодами, поэтому может использоваться во всех случаях. MySQL специально разрабатывалась для использования в вэб-сайтах. Для этого разработчики использовали стандартный язык запросов SQL, который используется и в Oracle, но с некоторыми доработками. Некоторые встроенные команды SQL не используются для ускорения выполнения запросов. Поэтому MySQL работает обычно быстрее, чем другие базы данных. Это очень большое преимущество, так как особое внимание при разработке сайтов уделяется как раз скорости загрузки страницы. Однако если у вас будет огромная база данных, безопасность играет более существенную роль, чем скорость доступа. Поэтому лучше всего использовать базу, которая обеспечивает более высокий уровень безопасности. Oracle разграничивает доступ к данным на нескольких уровнях - роли, привилегии, пользователи. Также возможно разграничить доступ к физической структуре данных - отдельные таблицы можно разместить на разных серверах, тем самым увеличив производительность всей базы данных при большой загрузке сервера. На возможностях Oracle я останавливаться не буду, так как это потянет на довольно объемную книгу.
   Если вы только начинаете изучать вэб-дизайн, то вам лучше всего остановить на простой и надежной базе данных. Например, если вы пишете на PHP, то вот список доступных баз данных: Adabas D, dBase, Empress, FilePro, Informix, ODBC, Interbase, mSQL, MySQL, Oracle, PostgreSQL, Solid, Sybase, Velocis, Unix DBM, Microsoft SQL Server. Я покажу на примере MySQL, как производится доступ к данных с помощью PHP.

   Доступ к любой базе данных осуществляется по следующей схеме :

Подключение к базе данных
Инструкция SQL
Чтение результатов
Отключения от базы данных.

   Конкретная реализация зависит от языка программирования и интерфейса базы данных.

<html> <body> <?
// определение переменных (пример)
$host = "localhost"; // хост, на котором установлен сервер базы данных
$db = "test_db"; // алиас (имя) базы данных
$username = "user_1"; // пользователь
$pass = "pwd"; // пароль

$error = 0;
/*
таблица вида:
test_table
id int(5);
name char(10);
*/

// соединение с сервером базы данных
$aDBLink = mysql_connect($host,$username,$pass);
if(!empty($aDBLink))
// соединение с базой данных
if(mysql_select_db($db,$aDBLink) == FALSE)
$error = 2;
else
$error = 1;

// запрос из базы данных
$sSql = "select * from test_table where id > 5";
if(($aSel=mysql_query($sSql))==TRUE && $error==0) // идентификатор базы данных можно не указывать. //тогда берется активная база данных
{
while($aRow = mysql_fetch_array($aSel))
{
$nId = $aRow["id"]; // можно обращать к полям таблицы не по именам, а
$sName = ["name"]; // по идентификатору столбца, например $nId = $aRow[0];
}
mysql_free_result($aSel); // очистка массива результатов
}
else
$error = 3;

// обработка ошибок
switch($error)
{
case 1 : $s = "Error connect to database"; break;
case 2 : $s = "Error. Database don't exist "; break;
case 3 : $s = "Error query"; break;
}
print "$s";

//вставка в базу данных
$id = 34;
$sName = "test";
// в запросе происходит автоматическое связывание переменных и
// вставка значений в базу данных
$sIns = "insert into test_table values($id,'$sName')";
if(($aRes = mysql_query($sIns)) == FALSE)
print "Error query";

// изменение записей
$sName = "test_2";
// в запросе происходит автоматическое связывание переменных и
// изменение значений в базе данных
$sIns = "update test_table set name='$sName' where id=7";
if(($aRes = mysql_query($sIns)) == FALSE)
print "Error query";

?> </body> </html>
   Отключение от базы происходит автоматически, как только пользователь закрывает страницу в броузере. Хотя можно конечно явно отключать функцией mysql_close().

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

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

Сивожелезов Алексей Александрович
www.asinfo.com.ua
sivogelezov@rambler.ru

 

 
Интересное в сети
 
10 новых программ
CodeLobster PHP Edition 3.7.2
WinToFlash 0.7.0008
Free Video to Flash Converter 4.7.24
Total Commander v7.55
aTunes 2.0.1
Process Explorer v12.04
Backup42 v3.0
Predator 2.0.1
FastStone Image Viewer 4.1
Process Lasso 3.70.4
FastStone Image Viewer 4.0
Xion Audio Player 1.0.125
Notepad GNU v.2.2.8.7.7
K-Lite Codec Pack 5.3.0 Full


Наши сервисы
Рассылка новостей. Подпишитесь на рассылку сейчас и вы всегда будете в курсе последних событий в мире информационных технологий.
Новостные информеры. Поставьте наши информеры к себе и у вас на сайте появится дополнительный постоянно обновляемый раздел.
Добавление статей. Если вы являетесь автором статьи или обзора на тему ИТ присылайте материал нам, мы с удовольствием опубликуем его у себя на сайте.
Реклама на сайте. Размещая рекламу у нас, вы получите новых посетителей, которые могут стать вашими клиентами.
 
Это интересно
 

Copyright © CompDoc.Ru
При цитировании и перепечатке ссылка на www.compdoc.ru обязательна. Карта сайта.
 
Rambler's Top100