ТОП-10 популярных



Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...

НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...

БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...

Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...

Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...

Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...

ПОД ЛИТЕРОЙ «N»
Aтаку LCD-мониторов не остановить, а масштабы этого наступления даже немного пугают. Судите сами — многие пользователи только начинают приглядываться к новому для...


Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...

Размер объему не помеха.
С тех пор как компания Fujitsu отказалась от производства жестких дисков для настольных компьютеров, многие пользователи начали забывать о том,...


Какую только информацию мы не помещаем на компакт-диски: резервные копии важных данных, музыку, фильмы... Многие полагают, что главное - «купить...

PHP. Интеграция баз данных. Часть Вторая.


28-05-2015

Последним шагом является написание PHP-сценария, который получал бы содержимое таблицы и оформлял ее в виде HTML-таблицы. В листинге 23.3 предоставлен PHP-код, предназначенный для выборки значений имени и цены с последующим отображением их в HTML-таблице. Результат работы этого сценария показан на рис. 23.2.
Для того чтобы начать работу с базой данных, необходимо подключиться к ней, например с помощью функции mysql_connect. В качестве параметров она принимает имя узла, имя пользователя и пароль. Обычно я создаю в своих базах данных MySQL пользователя с именем httpd без какого-либо пароля. Кроме того, этот пользователь может подключиться с локального сервера. Он назван так же, как и пользователь Unix, который выполняет сценарии, - другими словами, Web-сервер. Но вы можете создавать и своих собственных пользователей и соответствующую им базу данных. Конечно, в таком случае придется внести изменения в аргументы функции.

Листинг 23.3. Создание HTML-таблицы из запроса

<?php
//подключиться к серверу и проверить на ошибку if(!($dbLink = mysql_connect("localhost", "httpd", ""))) {
print("HeB03Mo;KHO подключиться к базе данных <br>n");
print("Завершение работы!<br>n");
exit();
}
// выбрать базу данных и проверить на ошибку if(!($dbResult = mysql_query("USE test", $dbLink)))

 { 
print("Heвoзмoжнo использовать тестовую базу данных!<br>n");
print("Завершение работы!<br>n");
exit();
}
// получить все содержимое таблицы catalog $Query = "SELECT Name, Price " .
"FROM catalog " .
"ORDER BY Name ";
if(!($dbResult = mysql_query($Query, $dbLink)))
{
print("Heвoзмoжнo выполнить запрос!<br>n"); print("MySQL сообщает: " . mysql_error() . "<br>n"); print("Этo был запрос: $Query<br>n"); exit();
}
//start table
print("<table border="0">n"); //создать заглавную строку print("<tr>n");
print("<td bgcolor="#cccccc"><b>Тoвар</b></td>n"),•
print("<td bgcolor="#cccccc"><b>Цeна</b></td>n"),•
print("</tr>n");
// получить все строки
while($dbRow = mysql_fetch_assoc($dbResult))
{
print("<tr>n");
print("<td>{$dbRow['Name']}</td>n");
print("<td align="right">{$dbRow['Price']}</td>n"),-print("</tr>n");
}
// завершить таблицу print("</table>n");
?>
Интеграция баз данных
Если соединение прошло успешно, возвращается идентификатор ссылки MySQL. Следует заметить, что проверка и выполнение соединения осуществляется в одной строке. Для подключения к базе данных используется функция mysql_connect. Просмотрев описание функций MySQL в главе 17, "Базы данных", можно заметить и другую функцию - mysql_pconnect. Эти две функции работают идентично, за исключением того, что функция mysql_pconnect возвращает устойчивые соединения.
Большинство функций баз данных, которые имеются в арсенале PHP, используют идею устойчивого соединения, т.е. такого, которое не закрывается и после выполнения сценария. Если аналогичный Web-процесс запускает другой сценарий, работающий с тем же сервером базы данных, предыдущее соединение будет использоваться повторно, предотвращая перегрузку. На практике эта экономия не настолько существенна из-за того, что сервер Apache 1.3.x и более ранние его версии используют вместо потоков процессы. Процессы обслуживают определенные запросы, после чего замещаются другими процессами. Когда процесс завершается, закрывается его устойчивое соединение.
Следующим шагом является выбор базы данных. Здесь была выбрана база данных test. После того как PHP становится известно, с какой базой данных он будет работать, получаем все строки из таблицы catalog. Это сделано с помощью функции mysql_query, которая выполняет заданный запрос на заданном соединении и возвращает результирующий идентификатор. Этот результирующий идентификатор мы будем использовать в дальнейшем для выборки результатов запроса.

Понравился материал? Поделитесь с друзьями!



<< Предыдущая статьяСледующая статья >>
PHP. Интеграция баз данных PHP. Интеграция баз данных. Часть Третья.