русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Связь PHP с базой данных MySQL


Дата добавления: 2015-07-09; просмотров: 752; Нарушение авторских прав


Чтобы получить доступ к базе данных из Web, используя PHP, надо сделать следующие основные шаги:

  • Подключение к серверу MySQL.
  • Выбор базы данных.
  • Выполнение запроса к базе данных:
    • добавление;
    • удаление;
    • изменение;
    • поиск;
    • сортировка.
  • Получение результата запроса.
  • Отсоединение от базы данных.

Для подключения к серверу базы данных в PHP есть функция mysql_connect( ). Ее аргументы: имя компьютера, имя пользователя и пароль. Эти аргументы можно опустить. По умолчанию имя компьютера = localhost, тогда имя пользователя и пароль не требуется. Если PHP используется в сочетании с сервером Apache, то можно воспользоваться функцией mysql_pconnect(). В этом случае соединение с сервером не исчезает после завершения работы программы или вызова функции mysql_close(). Функции mysql_connect() и mysql_pconnect() возвращают идентификатор подключения, если все прошло успешно. Например:

$link = mysql_pconnect ();if ( !$link ) die ("Невозможно подключение к MySQL");

После того, как соединение с сервером MySQL установлено, нужно выбрать базу данных. Для этого используется функция mysql_select_db(). Ее аргумент: имя базы данных. Функция возвращает true, если указанная база данных существует и доступ к ней возможен. Например:

$db = "sample";mysql_select_db ( $db ) or die ("Невозможно открыть $db");

Для добавления, удаления, изменения и выбора данных нужно сконструировать и выполнить запрос SQL. Для этого в языке PHP существует функция mysql_query(). Ее аргумент: строка с запросом. Функция возвращает идентификатор запроса.

Пример 1

<html>
<head>
<title>Добавление записи в таблицу</title>
</head>
<body>
<?php
$db = "sample";
$link = mysql_pconnect ();
if ( !$link )
die ("Невозможно подключение к MySQL");
mysql_select_db ( $db ) or die ("Невозможно открыть $db");
$query = "INSERT INTO books
VALUES ('966-7393-80-1', 'Аллен Вайк',
'PHP. Справочник', '213', '4')";
mysql_query ( $query );
mysql_close ( $link );
?>
</body>
</html>

При каждом выполнении примера 1 в таблицу будет добавляться новая запись, содержащая одни и те же данные. Разумеется, имеет смысл добавлять в базу данные, введенные пользователем.



В примере 2.1 приведена HTML-форма для добавления новых книг в базу данных.

Пример 2.1

<html><head><title>HTML-форма добавления новых книг</title></head><body><form aсtion="insert_book.php" method="post"><table><tr><td>ISBN<td><input name=isbn maxlength=13 size=13><tr><td>Автор<td><input name=author maxlength=30 size=30><tr><td>Название<td><input name=title maxlength=60 size=30><tr><td>Цена<td><input name=price maxlength=7 size=7><tr><td>Количество<td><input name=quantity maxlength=3 size=3><tr>td colspan=2><input type=submit value="Ввод"></table></form></body></html>

Результаты заполнения этой формы передаются в insert_book.php.

Пример 2.2

<html><head><title>Программа добавления новых книг (файл insert_book.php)</title></head><body><?phpif (!$isbn || !$author || !$title || !$price || !$quantity) die ("Не все данные введены.<br> Пожалуйста, вернитесь назад и закончите ввод");$isbn = trim ( $isbn ); $author = trim ( $author ); $title = trim ( $title ) ; $isbn = addslashes ( $isbn ); $author = addslashes ( $author ); $title = addslashes ( $title ) ; $db = "sample";$link = mysql_pconnect();if ( !$link ) die ("Невозможно подключение к MySQL");mysql_select_db ( $db ) or die ("Невозможно открыть $db");$query = "INSERT INTO books VALUES ('" .$isbn."', '".$author."', '".$title."', '" .$price."', '".$quantity."')";$result = mysql_query ( $query );if ($result) echo "Книга добавлена в базу данных.";mysql_close ( $link );?></body></html>

В примере 2.2 введенные строковые данные обработаны функцией addslashes(). Эта функция добавляет обратные слеши перед одинарными кавычками ('), двойными кавычками ("), обратным слешем (\) и null-байтом. Дело в том, что по требованиям синтаксиса запросов баз данных такие символы должны заключаться в кавычки.

Для определения количества записей в результате запроса используется функция mysql_num_rows().

Все записи результата запроса можно просмотреть в цикле. Перед этим с помощью функции mysql_fetch_array() для каждой записи получают ассоциативный массив.

В примере 3.1 приведена HTML-форма для поиска определенных книг в базе данных.

Пример 3.1

<html><head><title>HTML-форма поиска книг</title></head><body><form aсtion="search_book.php" method="post">Ищем по:<br> <select name="searchtype" size=3><option value="author" selected>Автору<option value="title">Названию<option value="isbn">ISBN </select> <br>Что ищем:<br> <input name="searchterm"> <br><input type=submit value="Поиск"></form></body></html>

Результаты заполнения этой формы передаются в search_book.php.

Пример 3.2

<html><head><title>Программа поиска книг (файл search_book.php)</title></head><body><?phptrim ( $searchterm );if (!$searchterm) die ("Не все данные введены.<br> Пожалуйста, вернитесь назад и закончите ввод");$searchterm = addslashes ($searchterm);$link = mysql_pconnect ();if ( !$link ) die ("Невозможно подключение к MySQL");$db = "sample";mysql_select_db ( $db ) or die ("Невозможно открыть $db");$query = "SELECT * FROM books WHERE " .$searchtype." like '%".$searchterm."%'";$result = mysql_query ( $query );$n = mysql_num_rows ( $result );for ( $i=0; $i<$n; $i++ ) { $row = mysql_fetch_array($result); echo "<p><b>".($i+1).". $row[title]</b><br>"; echo "Автор: $row[author]<br>"; echo "ISBN: $row[ISBN]<br>"; echo "Цена: $row[price]<br>"; echo "Количество: $row[quantity]</p>"; }if ( $n == 0 ) echo "Ничего не можем предложить. Извините";mysql_close ( $link );?></body></html>

Итак, как работает архитектура Web-баз данных:

1. Web-браузер пользователя выдает HTTP-запрос определенной Web-страницы. Например, пользователь, используя HTML-форму, ищет все книги о PHP. Страница обработки формы называется search_book.php.

2. Web-сервер принимает запрос на search_book.php, извлекает этот файл и передает на обработку механизму PHP.

3. PHP выполняет соединение с MySQL-сервером и отправляет запрос.

4. Сервер принимает запрос к базе данных, обрабатывает его и отправляет результат (список книг) обратно механизму PHP.

5. Механизм PHP завершает выполнение сценария, форматирует результат запроса в HTML. После этого результат в виде HTML возвращается Web-серверу.

6. Web-сервер пересылает HTML в браузер, и пользователь имеет возможность просмотреть запрошенный список книг.

mysql_connect - Открывает соединение с сервером MySQL



<== предыдущая лекция | следующая лекция ==>
Работа с формами | Описание


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.584 сек.