Функции РНР для работы с базами данных MySQL Лекция Дисциплина МИРОВЫЕ ИНФОРМАЦИОННЫЕ РЕСУРСЫ Преподаватель ПРОКОФЬЕВА СВЕТЛАНА ВЛАДИСЛАВОВНА Башкирский.

Презентация:



Advertisements
Похожие презентации
1. СУБД MySQL 2. Язык обработки данных SQL. Сервер данных MySQL и его возможности MySQL это популярный сервер данных, применяемый при создании Web-сайтов.
Advertisements

Создание Web страниц Урок 13: PHP & MySQL Павел Бочаров.
Соколова В. В. Поддержка баз данных в РНР. Соколова В. В. Лаб 6 Работа с базами данных в РНР В РНР реализована обширная поддержка практически всех существующих.
Создание Web страниц Урок 12: PHP & MySQL Павел Бочаров.
Корпоративные системы Лекция 5. Механизмы доступа к БД через Web-интерфейс.
Базы данных. Введение Базы данных обеспечивают хранение информации. Доступ к базе данных осуществляется через специальную программу - систему управления.
CREATE TABLE Ident_table ( ID int IDENTITY(1, 1), some_values varchar(50)); IDENTITY [ ( seed, increment ) ]
Администрирование и безопасность MySQL. Создание и удаление пользователей Под учетной записью пользователя MySQL подразумевается строка в таблице user.
Работа с БД в Zend Лекция 4 1.Модель 2.Классы Zend_Db_Table и Zend_Config 3.Запросы 4.Свойства и методы таблицы.
Программируемый клиент ORACLE Технология Pro C/C++
Основы SQL Запросы к базе данных. Что такое база данных SQL? SQL (Structured Query Language - «Структурированный язык запросов») - универсальный компьютерный.
Чувашский Государственный педагогический университет имени И.я.Яковлева Тема учебного проекта: Базы данных в сети Интернет Автор: Студент ФМФ 5-го курса.
Подготовила: Бовина Елена М-063. это информационная модель, позволяющая в упорядоченном виде хранить данные о группе объектов, обладающих одинаковым набором.
Тамбовский государственный университет имени Г.Р. Державина Институт математики, физики и информатики Кафедра информатики и информационных технологий Иванова.
«ИЗМЕНЕНИЕ ДАННЫХ В БД» Выполнил: студент 722 группы Специальности Информационные системы (по отрослям) Токарев Виктор.
PL/SQL Курсоры. Курсор – специальный элемент, связанный с SQL-оператором SELECT. Объявление курсора происходит в секции объявления базового блока. Работа.
СУБД Access Запросы Автор: Тутыгин В.С.. Назначение запросов Запросы обеспечивают простой доступ к определенному подмножеству записей одной или нескольких.
База данных База данных – это конкретная предметная область, описанная с помощью таблиц.
Triggers для mysql. Что есть триггер? Триггер - это хранимая процедура особого типа, исполнение которой обусловлено наступлением определенного события.
Технология хранения, поиска и сортировки информации в базах данных
Транксрипт:

Функции РНР для работы с базами данных MySQL Лекция Дисциплина МИРОВЫЕ ИНФОРМАЦИОННЫЕ РЕСУРСЫ Преподаватель ПРОКОФЬЕВА СВЕТЛАНА ВЛАДИСЛАВОВНА Башкирский государственный аграрный университет, 2011 г.

Рекомендуемая литература Пейтон, К., Меллер, А. РНР & MySQL. М: ООО «Бином-пресс», Кузнецов, М., Симдянов, И. РНР. Народные советы. СПб: БХВ-Петербург, С Шапошников, И. РНР 5.1. Учебный курс. СПб: Питер, – С Шкрыль, А. РНР – это просто. Программируем для Web-сайта. СПб.: БХВ-Петербург, С

1. Взаимодействие серверного сценария РНР и СУБД MySQL 2. Cоединение с MySQL и базой данных 3. Выполнение запросов 4. Обработка результатов запросов

1. Взаимодействие сценария РНР с СУБД MySQL 2. Cоединение с MySQL и базой данных 3. Выполнение запросов 4. Обработка результатов запросов

Клиент Сервер Web- браузер Apache PHP файл PHP MySQL Взаимодействие сценария РНР и серверной СУБД MySQL

Соединение с MySQL Выполнение запросов к базе данных: добавление удаление изменение поиск Закрытие соединения с MySQL Выбор базы данных Подключение базы данных к внешнему Web-интерфейсу

1. Взаимодействие сценария РНР с СУБД MySQL 2. Cоединение с MySQL и базой данных 3. Выполнение запросов 4. Обработка результатов запросов

Соединение с MySQL mysql_connect ([ сервер [, имя_пользователя [, пароль [, новое _ соединение ]]]])

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

Параметры: сервер - сетевой адрес сервера MySQL (на локальном компьютере localhost или IP-адрес ) имя_пользователя - имя пользователя базы данных (root) пароль - пароль пользователя (" ") новое_соединение – если значение true, будет открыто новое соединение с сервером

… $host="localhost"; $user="root"; $pass=""; host,$user,$pass); if (!$link) { exit(" В настоящий момент сервер БД недоступен, поэтому корректное отображение страницы невозможно "); } …

mysql_query("SET NAMES 'cp1251' "); Установка кодировки

Закрытие соединения с СУБД MySQL mysql_close ([MySQL- соединение])

Создание базы данных

Выбор текущей базы данных mysql_select_db (имя_БД [, MySQL-соединение]) При успешном выполнении – true, в противном случае - false

… $db_name="tables"; if { exit(" В настоящий момент база данных недоступна, поэтому корректное отображение страницы невозможно. "); } mysql_query("SET NAMES 'cp1251' "); …

1. Взаимодействие интерпретатора РНР и СУБД MySQL 2. Cоединение с MySQL и базой данных 3. Выполнение запросов 4. Обработка результатов запросов

Выполнение запросов mysql_query (запрос [, MySQL- соединение] ) Функция возвращает указатель результирующей таблицы в случае успеха и false в случае неудачного выполнения запроса.

Таблица items id writer name 1Кирсанов, Д.Цвет в веб-дизайне 2Семенов И. П оиск конкретики в Интернете 3Олифер, Н.Сетевые операционные системы 4Андреев, А. Р ын ок интернет-ссылок в Рунете

… $rezult = mysql_query (" CREATE TABLE items (id smallint UNSIGNED AUTO_INCREMENT, writer varchar(40) NOT NULL, name varchar(80) NOT NULL, PRIMARY KEY (id)) "); …

$rezult = mysql_query (' INSERT INTO items (name, writer ) VALUES ("Цвет в веб-дизайне", "Кирсанов, Д."); ' ); …

Пример 1 Ввод данных в таблицу через форму

Файл forma.htm Таблица "Статьи" Ввод новой записи Автор статьи: Название статьи:

Файл vvod.php <?php $writer = $_GET['writer']; $name= $_GET['name']; $link=mysql_connect("localhost","root",""); $result=mysql_select_db ("tables"); $sql="INSERT INTO items (writer, name) values(' ".$writer." ',' ".$name." ')"; mysql_query($sql); mysql_close(); ?> "INSERT INTO items (writer, name) values ('Семенов И.',' Поиск конкретики в Интернете')";

1. Взаимодействие сценария РНР с СУБД MySQL 2. Cоединение с MySQL и базой данных 3. Выполнение запросов 4. Обработка результатов запросов

Функция mysql_num_rows ( результат ) Эта функция работает только с запросами SELECT. Количество записей в результате запроса

… $q = mysql_query("SELECT * FROM items "); echo "Число записей в таблице items: ".mysql_num_rows($q); …

Чтобы получить количество рядов, обработанных функциями INSERT, UPDATE, DELETE, следует использовать функцию mysql_affected_rows ( результат)

Количество полей в результате запроса mysql_num_fields( результат ) Нап ример: … $q = mysql_query("SELECT * FROM items"); echo "В таблице items ".mysql_num_fields($q)." полей "; …

ПЯТЬ функций для обработки набора записей 1. mysql_result() 2. mysql_fetch_row() 3. mysql_fetch_assoc() 4. mysql_fetch_array() 5. mysql_fetch_object()

Значение каждого поля можно узнать с помощью функции mysql_result ( результат, номер_записи, [поле] ); 1. mysql_result ( )

Предположим, SQL-запрос вернул следующий набор данных: writern ame Кирсанов, Д. Цвет в веб-дизайне Семенов, И. П оиск конкретики в Интернете

… $q = mysql_query("SELECT * FROM items"); $rows = mysql_num_rows($q); $fields = mysql_num_fields($q); for ($nr=0; $nr<$rows; $nr++) { for ($nf=0; $nf<$fields; $nf++) { echo mysql_result($q, $nr, $nf)." "; } echo " "; } …

Функция mysql_fetch_row ( результат ) получает сразу всю строку, соответствующую текущей записи результата. 2. mysql_fetch_row ( )

… $q = mysql_query("SELECT * FROM items"); $rows = mysql_num_rows($q); for ($nr=0; $nr<$rows; $nr++) { $f = mysql_fetch_row($q); echo var_dump($f); echo " "; } …

Функция mysql_fetch_assoc( результат ); возвращает ассоциативный массив. 3. mysql_fetch_assoc ( )

Функция mysql_fetch_array ( результат [, тип_результата ] ) возвращает массив. 4. mysql_fetch_array ( )

Значения параметра тип_результата : MYSQL_ASSOC - возвращает ассоциативный массив; MYSQL_NUM - возвращает массив с числовыми индексами; MYSQL_BOTH (по умолчанию) - возвращает массив с двойными индексами, т. е. с ним можно работать, как с ассоциативным массивом и как со списком.

Пример 2 Система поиска информации в БД

Таблица items Таблица categories id writer namecatid 1Кирсанов, Д.Цвет в веб-дизайне 1 2Семенов И. П оиск конкретики в Интернете 1 3Олифер, Н.Сетевые операционные системы 5 4Андреев, А. Р ын ок интернет-ссылок в Рунете 1 namecatid Интернет 1 Система 5 Офис 2 Программирование 3

… $q=mysql_query("SELECT name FROM categories"); $rows=mysql_num_rows($q); echo "Выбери категорию для поиска: "; echo" "; for($nr=0; $nr<$rows; $nr++) { $f=mysql_fetch_assoc($q); echo" ".$f['name']." "; } echo" "." "; echo" "; …

… $spisok=$_GET['list']; $query="SELECT DISTINCT items.writer, items.name FROM items, categories where categories.catid=items.catid and categories.name=".'"'.$spisok.'"'; $q=mysql_query($query); $rows=mysql_num_rows($q); echo "В категории ".$spisok." найдено статей: ".$rows." "; Фрагмент файла poisk.php

echo" "; echo" Автор Название "; for($nr=0;$nr<$rows;$nr++) { echo" "; $f=mysql_fetch_array($q); echo" ".$f[writer]." ".$f[name]." "; echo" "; } … Продолжение фрагмента файла poisk.php

Функция mysql_fetch_object (результат) возвращает текущую запись в виде объекта, имена членов которого совпадают с именами полей в результирующей таблице. 5. mysql_fetch_object ( )

Функция mysql_field_name ( результат, номер ) возвращает имя поля, находящегося в результате под заданным номером (нумерация начинается с 0).

Функция mysql_field_type( результат, номер ) возвращает тип поля с указанным номером.

Функция mysql_field_flags ( результат, номер ) возвращает свойства, которые имеются у поля с указанным номером.

PHP поддерживает взаимодействие с большим количеством различных СУБД. Традиционно PHP используют совместно с MySQL. В PHP4 поддержка MySQL даже обеспечена по умолчанию. Однако, не стоит забывать и про другие СУБД, которые могут быть полезны при решении определенных задач, если функциональные возможности и производительность MySQL недостаточны. В заключение: РНР и другие СУБД

Примеры СУБД, которые поддерживаются разработчиками PHP MySQL, MySQLi, SQLite, PostgreSQL,Oracle, Microsoft SQL Server, Sybase и др.

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

Ваши вопросы ?