Создание базы данных на основе MySQL

Автор работы: Пользователь скрыл имя, 29 Декабря 2012 в 21:00, курсовая работа

Краткое описание

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

Содержание

Введение………………………………………………………………...2
1. СОЕДИНЕНИЕ РНР-СЦЕНАРИЕВ с таблицами MySQL ……….4
1.1.Соединение с сервером. Функция mysql_connect ………...4
1.2. Разрыв соединения с сервером. Функция mysql_close …..5
1.3. Создание базы данных. Функция CREATE DATABASE ..5
1.4. Выбор базы данных. Функция mysql_select_db…………..7
1.5 Обработка ошибок…………………………………………..7
1.6 Автоматизация подключения к MySQL. Файл (config.php)8
2. ВЫПОЛНЕНИЕ ЗАПРОСОВ К БАЗЕ ДАННЫХ ………………...10
2.1 Создание таблицы. Функция CREATE TABLE:…………...10
2.2 Вставка записей в таблицу. Функция INSERT…………….12
2.3 Удаление записей. Функция DELETE……………………...13
2.4 Обновление записей. Функция UPDATE…………………..13
3. MySQL И ПРОБЛЕМЫ БЕЗОПАСНОСТИ ……………………….23
3.1. Экранирование спецсимволов ……………………………..23
3.2. Шаблоны запросов и placeholders …………………………24
3.3 Пример применения СУБД MySQL………………………..29
4. Назначение и условия применения проекта……………………..34
4.1. Представление скрипта ……………………………………34
4.2. Системные требования …………………………………….34
4.3. Характеристика скрипта …………………………………..34
Заключение……………………………………………………………..35
Список использованной литературы…………………………………36
Приложение А…………………………………………………………3

Вложенные файлы: 1 файл

Курсовой проект по НТП.doc

— 1.11 Мб (Скачать файл)

Содержание

 

Введение………………………………………………………………...2

1. СОЕДИНЕНИЕ РНР-СЦЕНАРИЕВ с таблицами MySQL ……….4

         1.1.Соединение с сервером. Функция mysql_connect ………...4

1.2. Разрыв соединения с сервером. Функция mysql_close …..5

1.3. Создание базы данных. Функция CREATE DATABASE ..5

1.4. Выбор базы данных. Функция mysql_select_db…………..7

1.5 Обработка ошибок…………………………………………..7

1.6 Автоматизация подключения к  MySQL. Файл (config.php)8

2. ВЫПОЛНЕНИЕ ЗАПРОСОВ К БАЗЕ ДАННЫХ ………………...10

2.1 Создание таблицы.  Функция CREATE TABLE:…………...10

2.2 Вставка записей в таблицу.  Функция INSERT…………….12

2.3 Удаление записей. Функция  DELETE……………………...13

2.4 Обновление записей. Функция  UPDATE…………………..13

3. MySQL И ПРОБЛЕМЫ БЕЗОПАСНОСТИ ……………………….23

3.1. Экранирование спецсимволов ……………………………..23

3.2. Шаблоны запросов и placeholders …………………………24

3.3 Пример применения  СУБД MySQL………………………..29

4. Назначение и условия применения проекта……………………..34

4.1. Представление скрипта ……………………………………34

4.2. Системные требования …………………………………….34

4.3. Характеристика скрипта …………………………………..34

Заключение……………………………………………………………..35

Список использованной литературы…………………………………36

Приложение А…………………………………………………………37

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Введение

 

MySQL – это одна из самых популярных и самых распространенных СУБД (система управления базами данных) в интернете. Она не предназначена для работы с большими объемами информации, но ее применение идеально для интернет сайтов, как небольших, так и достаточно крупных.

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

Немаловажным фактором является ее бесплатность.

Ранее для долговременного  хранения информации мы работали с  файлами: помещали в них некоторое количество строчек, а затем извлекали их для последующей работы. Задача длительного хранения информации очень часто встречается в программировании Web-приложений: подсчёт посетителей в счётчике, хранение сообщений в форуме, удалённое управление содержанием информации на сайте и т.д.

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

Приложение на РНР, использующее для хранения информации базу данных (в частности MySql) всегда работает быстрее приложения, построенного на файлах. Дело в том, что базы данных написаны на языке C++, и написать на PHP программу, которая работала бы с жёстким диском эффективнее базы данных - задача неразрешимая по определению, поскольку программы на PHP в принципе работают медленнее, чем программы на C++, так как РНР - интерпретатор, а С++ - компилятор.

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

Реляционные базы данных

В конце 80-х годов доминирующей стала система управления реляционными базами данных (СУРБД). Для работы с СУБД был разработан структурированный язык запросов (SQL), который представляет собой язык управления именно реляционными базами данных.

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

В реляционных базах данных данные собраны в таблицы, которые в свою очередь состоят из столбцов и строк, на пересечении которых расположены ячейки. Запросы к таким базам данных возвращают таблицу, которая повторно может участвовать в следующем запросе. Данные в одних таблицах, как правило, связаны с данными других таблиц, откуда и произошло название "реляционные". В Web-приложениях, как правило, используются реляционные базы данных.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1. СОЕДИНЕНИЕ РНР-СЦЕНАРИЕВ с таблицами MySQL

 

Рассмотрим наиболее часто используемых функций, позволяющих работать с базой данных MySQL средствами РНР.

При взаимодействии РНР и MySQL программа взаимодействует с СУБД посредством совокупности функций.

 

1.1 Соединение с сервером. Функция mysql_connect

 

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

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

Эта функция устанавливает сетевое соединение с базой данных MySQL, расположенной на хосте $server (по умолчанию это localhost, т.е. текущий компьютер) и возвращает идентификатор открытого соединения. Вся дальнейшая работа ведется именно с этим идентификатором. Все другие функции, принимающие этот идентификатор (дескриптор) в качестве аргумента, будут однозначно определять выбранную базу данных. При регистрации указывается имя пользователя $username и пароль $password (по умолчанию имя пользователя, от которого запущен текущий процесс – при отладке скриптов: root, и пустой пароль):

<?

$dblocation = "localhost"; //Имя  сервера

$dbuser = "root"; //Имя пользователя

$dbpasswd = ""; //Пароль

//Осуществляем соединение  с сервером базы данных

//Подавляем вывод ошибок символом @ перед вызовом функции

$dbcnx = @ mysql_connect($dblocation, $dbuser, $dbpasswd);

if (!$dbcnx) //Если дескриптор  равен 0, соединение не установлено

{

//Выводим предупреждение

echo("<P>B настоящий  момент сервер базы данных  не доступен, поэтому корректное отображение страницы невозможно.</Р>");

exit ();

}

?>

Переменные $dblocation, $dbuser и $dbpasswd хранят имя сервера, имя пользователя и пароль.

 

1.2 Разрыв соединения с сервером. Функция mysql_close

 

Соединение с MySQL –  сервером будет автоматически закрыто по завершении работы сценария, либо же при вызове функции mysql_close

bool mysql_close ([resource $link_identifier])

Эта функция разрывает  соединение с сервером MySQL, и возвращает true при успешном выполнении операции и false в противном случае. Функция принимает в качестве аргумента дескриптор соединения с базой данных, возвращаемый функцией mysql_connect.

Пример работы с этой функцией:

<?

$dblocation = "localhost"; //Имя сервера

$dbuser = "root"; //Имя пользователя

$dbpasswd = ""; //Пароль

//Осуществляем соединение  с сервером базы данных

//Подавляем вывод ошибок  символом @ перед вызовом функции

$dbcnx = @ mysql_connect($dblocation, $dbuser, $dbpasswd);

if (!$dbcnx) //Если дескриптор  равен 0, соединение не установлено

{

//Выводим предупреждение

echo("<P>B настоящий  момент сервер базы данных  не доступен, поэтому корректное  отображение страницы невозможно.</Р>");

exit ();

}

if (mysql_close($dbcnx)) //разрываем  соединение

{

echo("Соединение с  базой данных прекращено");

}

else

{

echo("He удалось завершить соединение");

?>

 

1.3 Создание базы данных. Функция CREATE DATABASE

Команда — создание базы данных доступна только администратору сервера, и на большинстве хостингов  ее нельзя выполнять:

CREATE DATABASE ИмяБазыДанных

Создает новую базу данных с именем имяБазыданных.

Пример работы с этой функцией:

//Создаем базу данных $dbname – это может делать только суперпользователь

//Если база данных уже существует, будет некритическая ошибка

@mysql_query('CREATE DATABASE $dbname');

Рекомендуется везде использовать апострофы ('SQL – команда') в качестве ограничителей строк, содержащих SQL – команды. Этим можно гарантировать, что никакая $ - переменная случайно не будет интерполирована (т.е. не заменится на свое значение), и увеличится безопасность скриптов.

Команда создания базы данных CREATE DATABASE доступна только суперпользователю, и на большинстве хостингов простому пользователю ее выполнить невозможно. Она доступна только администратору сервера.

Для экспериментов создадим базу данных testbase, выполнив SQL-запрос из командной строки. Для этого нужно войти в систему MySQL и ввести в командной строке MySQL:

mysql> create database testbase;

После этого следует набрать:

mysql>use testbase;

 

 

База данных создана:

 

 

 

1.4 Выбор базы данных. Функция mysql_select_db

 

До того как послать  первый запрос серверу MySQL, необходимо указать, с какой базой данных мы собираемся работать. Для этого предназначена функция mysql_select_db:

bool mysql_select_db(string $database_name [,resource $link_identifier])

Она уведомляет PHP, что в дальнейших операциях с соединением $link_identifier будет использоваться база данных $database_name.

Использование этой функции эквивалентно вызову команды use в SQL-запросе, т. е. функция mysql_select_db выбирает базу данных для дальнейшей работы, и все последующие SQL-запросы применяются к выбранной базе данных. Функция принимает в качестве аргументов название выбираемой базы данных database_name и дескриптор соединения resource. Функция возвращает true при успешном выполнении операции и false — в противном случае:

<?

//Код соединения с базой данных

if (! @mysql_select_db($dbname, $dbcnx))

{

//Выводим предупреждение

echo("<P> B настоящий момент база  данных не доступна, поэтому корректное  отображение страницы невозможно. </Р>");

exit(); }

?>

 

1.5 Обработка ошибок

 

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

Важно аккуратно и своевременно использовать эти функции, потому что иначе отладка сценариев может усложниться.

● Функция:

int mysql_errno ([int $link_identifier])

возвращает номер последней  зарегистрированной ошибки. Идентификатор  соединения $link_identifier можно не указывать, если за время работы сценария было установлено только одно соединение.

● Функция:

string mysql_error([int $link_identifier])

возвращает не номер, а строку, содержащую текст сообщения  об ошибке. Ее удобно применять в  отладочных целях. Обычно mysql_error используют вместе с конструкцией or die (), например:

@mysql_connect("localhost", "user", "password")

or die("Ошибка при подключении к базе данных: ".mysql_error());

Оператор @, как обычно, служит для подавления стандартного предупреждения, которое может возникнуть в случае ошибки.

В последних версиях  РНР предупреждения в MySQL-функциях по умолчанию не регистрируются.

 

1.6 Автоматизация подключения к MySQL. Файл (config.php)

 

Обычно на сайте существует сразу несколько скриптов, которым  нужен доступ к одной и той же базе данных.

Код, ответственный за подключение к MySQL рекомендуется  выделить в отдельный файл, а затем  подключать с помощью функции include к нужным скриптам.

Имеет смысл помещать функции для соединения, выбора и создания базы данных в тот же файл (config.php), где объявлены переменные с именем сервера $dblocation, именем пользователя $dbuser, паролем $dbpasswd и именем базы данных $dbname:

Листинг config.php:

<?

//config.php код файла, содержащего  параметры соединения с сервером  и выбора базы данных

//выводит сообщения  об ошибках соединения в браузер

$dblocation = "localhost"; //Имя сервера

$dbname = "вставить имя базы" //Имя базы данных: создаваемой или уже существующей

$dbuser = "root"; //Имя пользователя  базы данных

$dbpasswd = ""; //Пароль

//Осуществляем соединение  с сервером базы данных

//Подавляем вывод ошибок  символом @ перед вызовом функции

$dbcnx=@mysql_connect($dblocation,$dbuser,$dbpasswd);

if (!$dbcnx) //Если дескриптор  равен 0, соединение с сервером  базы данных не установлено

{

//Выводим предупреждение

echo("<p> В настоящее  время сервер базы данных не  доступен, поэтому корректное отображение  страницы невозможно. </p>");

exit();

}

//Создаем базу данных $dbname – это может делать только суперпользователь

//Если база данных  уже существует, будет некритическая ошибка

Информация о работе Создание базы данных на основе MySQL