PHP обеспечивает хорошую поддержку многих баз данных. Если "родной" поддержки для вашей любимой базы данных не существует, то всегда можно воспользоваться ODBC-драйвером, который поддерживает исходные драйверы баз данных. Регулярно дополняется поддержка новых баз данных, и разработчики PHP говорят: "Дайте нам машину, которую можно протестировать, и мы дадим вам ее поддержку".
СУБД MySQL является самой популярной базой данных, которая используется кодировщиками PHP. Кроме того, что она является бесплатной, она подходит Web-разработчикам по параметрам скорости. В примерах, приведенных в этой главе, предполагается, что в вашем распоряжении имеется СУБД MySQL. В противном случае обратитесь к Web-узлу MySQL <http://www.mysql.com/>, чтобы загрузить и установить ее, или выполните все приведенные в этой главе примеры с помощью другой базы данных.
Большинство реляционных баз данных использует язык SQL (Structured Query Language - язык структурированных запросов). Это язык четвертого поколения (4GL), и он больше похож на английский язык, чем на исходный PHP-код. Подробное рассмотрение языка SQL выходит за рамки данной книги. Если вы совсем не знакомы с языком SQL, обратитесь к книге автора MySQL. Библиотека профессионала, опубликованной в Издательском доме "Вильямс".
23.1. Создание HTML-таблиц из SQL-запросов
Вероятно, простейшая операция, которую можно выполнить с помощью базы данных и PHP, - это выборка данных из таблицы и отображение их в HTML-таблице. Таблица может содержать каталог продаваемых товаров, список проектов или список серверов имен Internet и времени их "пингования". Для иллюстрации воспользуемся первым сценарием. Предположим, что супермаркету потребовалось представить на Web-узле товары, выставленные им на продажу. Для подтверждения этой концепции необходимо создать страницу, на которой перечислены товары из базы данных. Для этого воспользуемся базой данных test, которая была создана во время инсталляции СУБД MySQL. PHP-сценарий, предназначенный для вывода каталога товаров, будет располагаться на той же машине, что и сервер базы данных. Первым шагом является создание базы данных. В листинге 23.1 показан SQL-код, предназначенный для создания простейшей таблицы, состоящей из трех столбцов. Эта таблица называется catalog и имеет целочисленный столбец ID длиной не более 11 цифр. Он не может быть пустым - новым строкам будут автоматически присвоены последовательные значения идентификатора. Последняя строка определения задает столбец ID в качестве первичного ключа, что позволяет создать индекс на основании этого столбца и запрещает дублирование идентификаторов ID. Два остальных столбца называются Name и Price.
Листинг 23.1. Создание таблицы catalog
CREATE TABLE catalog (
ID INT(11) NOT NULL AUTO_INCREMENT, Name CHAR(32), Price DECIMAL(6,2), PRIMARY KEY (ID)
Столбец Name является символической строкой, которая может содержать до 32 символов. Столбец Price представляет собой шестизначное число с двумя цифрами после запятой, что является достаточным для задания денежных величин. Далее нам понадобится внести значения в таблицу. Поскольку создается демонстрационный пример, заносятся товары и их предположительные цены. Для этого прибегнем к помощи оператора INSERT (листинг 23.2).
Листинг 23.2. Добавление данных в таблицу catalog
INSERT INTO catalog (Name, Price) VALUES ('Toothbrush', 1.79), ('Comb', 0.95), ('Toothpaste', 5.39), ('Dental Floss', 3.50), ('Shampoo', 2.50), ('Conditioner', 3.15), ('Deodorant', 1.50), ('Hair Gel', 6.25), ('Razor Blades', 2.99), ('Brush', 1.15);
Операторы SQL, как и операторы PHP, завершаются точкой с запятой. С помощью такого оператора мы сообщаем MySQL-серверу о том, что собираемся вставить несколько строк в таблицу catalog, при этом мы предоставляем только наименование товара и его цену. MySQL сам создает новое значение столбца ID. Это происходит из-за того, что столбец определен с типом AUTO_INCREMENT. Ключевое слово VALUES дает знать серверу о том, что мы можем послать сами значения столбцов. Заметим, что использование одинарных кавычек для выделения текста является стандартом языка SQL. MySQL позволяет вставить сразу несколько строк в один оператор, которые разделяются запятыми. Большинство серверов баз данных требует для ввода каждой отдельной строки указать отдельный оператор.
Для того чтобы убедиться в том, что все прошло успешно, достаточно посмотреть на рис. 32.1, где показан вывод команды отображения содержимого таблицы catalog. Этого можно добиться с помощью команды SELECT * FROM catalog; в своем клиенте MySQL.
ТОП-10 популярных
Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...
БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Компьютер для гурманов.«Эксимер ДМ»
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...
В дополнение к календарным типам, предназначенным для хранения даты и времени отдельно, MySQL также поддерживает гибридные типы данных DATETIME и...
Вообще, к изменению настроек сервера прибегают очень редко. В MySQL программа заранее настроена так, чтобы соответствовать самым распространенным и основным...
PHP. Интеграция баз данных
27-05-2015
<< Предыдущая статья | Следующая статья >> |
PHP. Синтаксический анализ и обработка строк. Часть Четвёртая. | PHP. Интеграция баз данных. Часть Вторая. |