Главная · Карта сайта · Поиск · Статьи · Компьютерные курсы · Обучающие программы · Открытые проекты · Веб-программирование · Создание интернет-сайта · Полезные ссылки · Глоссарий · Контакты · Декабрь 09 2016 20:20:03
Последнее опубликованное

Что такое Model-View-Controller
Pattern Model-View-Controller

Как создать свой веб-сайт
Как создать свой сайт в интернете

Разное
Статистика

PHP и MySQL


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

На предыдущем шаге был представлен макет простейшего одностраничного приложения на PHP. На этом шаге наполним его смыслом: в процедуру process_data() добавим программный код работы с MySQL. Первый вариант – это обработка SQL запросов с инструкцией SELECT. Поскольку, в API MySQL для PHP все виды SQL запросов выполняются с помощью одной и той же команды mysql_query, то запретить выполнение модифицирующих данные запросов UPDATE, INSERT и DELETE можно только непосредственной проверкой исходного SQL, которая добавлена в начало процедуры. Весь остальной программный код, как мне кажется, вполне понятен: создаем соединение, выбираем нужную базу данных по имени, выполняем запрос, формируем разметку с HTML таблицей, содержащей результат запроса, и закрываем соединение. Исходный код представлен ниже, а рабочий вариант можно увидеть здесь.

   function process_data()
   {
     $sql = trim($_REQUEST["sql"]);

     //Выполняем только инструкции SELECT
     if (strcasecmp("select", substr($sql,0,6))!=0)
         exit("Недопустимый SQL запрос!");   

     //Создаем соединение 
     $connection = mysql_connect("localhost", "логин", "пароль") 
                   or exit("Ошибка соединения с сервером базы данных!");

     //Выбираем базу данных
     $db = mysql_select_db("имя базы данных", $connection) 
           or exit("Ошибка соединения с базой данных!");

     //Осуществляем выборку
     $result = mysql_query($sql);

     //Формируем HTML таблицу с результатами
     if ($result)
     {
      $rows=mysql_num_rows($result); 
      $cols=mysql_num_fields($result);

      echo "<b>Результаты:</b> загружено ".$rows." записей<br/>";      
      echo "<table><tr>";

      //Формируем заголовок
      for($i=0; $i<$cols; $i++)
      {
        $field = mysql_field_name($result, $i);
        echo "<th>$field</th>";
      }

      echo "</tr>";

      //Формируем содержимое таблицы
      for($i=0; $i<$rows; $i++)
      {
        echo "<tr>";

        for($j=0; $j<$cols; $j++)
        {
          $field=mysql_result($result, $i, $j);
          echo "<td>$field</td>";
        }

        echo "</tr>";
      }

      echo "</table>";
     }
     else {echo "<b>Ошибка:</b> ".mysql_error()."<br/>";}

     //Закрываем соединение
     mysql_close($connection);       
   }

Следующий пример демонстрирует то, как следует программно модифицировать содержимое базы данных в контексте транзакции. Если СУБД поддерживает транзакции, то у вас есть возможность объединить ряд SQL запросов в одну группу и в конце либо сохранить все изменения, обусловленные запросами этой группы в базе данных либо все их отменить.

   function process_data()
   {
     $sql = trim($_REQUEST["sql"]);

     $connection = mysql_connect("localhost", "логин", "пароль") 
                   or exit("Ошибка соединения с сервером базы данных!");

     $db = mysql_select_db("имя базы данных", $connection) 
           or exit("Ошибка соединения с базой данных!");

     //Начинаем транзакцию
     mysql_query("start transaction") or exit("start transaction: ".mysql_error());

     //Выполняем SQL запрос
     mysql_query($sql);

     //Завершаем транзакцию: сохраняем (commit) или отклоняем (rollback) изменения.
     mysql_query("commit");//mysql_query("rollback");
 
     mysql_close($connection);       
   }

Этой заметки вполне должно хватить для того, чтобы начать использовать MySQL в своих веб-проектах. Более подробную информацию ищите в интернете. С синтаксисом SQL команд UPDATE, INSERT и DELETE можете познакомиться здесь.

Читать далее: Как создать шаблон многостраничного сайта на PHP.



Компьютерные курсы и курсы программирования
Основы программирования

Курс для начинающих программистов на C# и VB.NET.

SQL 25™

Построение SQL запросов и работа с базой данных.

C# Quick Guide™

Программирование на C#. Краткое руководство.

RegEx

Применение регулярных выражений.

Plug-in архитектура

Примеры программной Plug-in архитектуры.

XML и его расширения

Язык разметки XML и его расширения с примерами.

HTML и разметка гипертекста

Языки HTML, XHTML и CSS с примерами разметки.

Основы веб-дизайна

Основы веб-дизайна: решения типовых задач верстки.

Программирование на PHP

Руководство по программированию на PHP для начинающих.

Справочные материалы

Шаблоны проектирования
Каталог шаблонов проектирования программных компонентов.

Рефакторинг кода
Каталог приемов рефакторинга программного кода.

Гость
Имя

Пароль



Забыли пароль?
Запросите новый здесь
.
Coding Craft. Все права защищены © 2011. Проект Инициативного Народного Фронта Образования - ИНФО-проект.