MyBooks.club
Все категории

Виктор Гольцман - MySQL 5.0. Библиотека программиста

На сайте mybooks.club вы можете бесплатно читать книги онлайн без регистрации, включая Виктор Гольцман - MySQL 5.0. Библиотека программиста. Жанр: Программирование издательство неизвестно,. Доступна полная версия книги с кратким содержанием для предварительного ознакомления, аннотацией (предисловием), рецензиями от других читателей и их экспертным мнением.
Кроме того, на сайте mybooks.club вы найдете множество новинок, которые стоит прочитать.

Название:
MySQL 5.0. Библиотека программиста
Издательство:
неизвестно
ISBN:
нет данных
Год:
неизвестен
Дата добавления:
17 сентябрь 2019
Количество просмотров:
249
Читать онлайн
Виктор Гольцман - MySQL 5.0. Библиотека программиста

Виктор Гольцман - MySQL 5.0. Библиотека программиста краткое содержание

Виктор Гольцман - MySQL 5.0. Библиотека программиста - описание и краткое содержание, автор Виктор Гольцман, читайте бесплатно онлайн на сайте электронной библиотеки mybooks.club
Эта книга предназначена для всех, кто желает освоить СУБД MySQL. Для ее чтения вам не нужны никакие специальные знания – достаточно быть пользователем Windows. Вы узнаете, как установить и запустить MySQL, как создать собственную базу данных, как работать с данными при помощи команд SQL, как администрировать базу данных и оптимизировать ее работу. Разработчики веб-приложений на языках PHP, Perl и Java найдут в этой книге полезные сведения по использованию базы данных MySQL в соответствующих приложениях. Для всех операций, которые вам предстоит выполнить, приводятся подробные пошаговые инструкции, все основные действия поясняются на примере учебной базы данных.

MySQL 5.0. Библиотека программиста читать онлайн бесплатно

MySQL 5.0. Библиотека программиста - читать книгу онлайн бесплатно, автор Виктор Гольцман

Приносим свои извинения”);

//Очередную строку из результата запроса (информацию о товаре)

// записываем в ассоциативный массив $product

while ($product=mysql_fetch_assoc($qresult))

{

//выводим элементы массива $product с именами description (наименование), //

details (описание) и price (цена)

print «n<tr><td>{$product[«description»]}</td>

<td>{$product[«details»]}</td>

<td>{$product[«price»]}</td></tr>n»;

}

?>

</table>

</body>

В этом примере функция mysql_query() выполняет запрос SELECT * FROM Products;, а функция mysql_fetch_assoc() в цикле while преобразует каждую из строк, полученных запросом, в массив $product. Затем мы извлекаем элементы массива $product с именами description (наименование), details (описание) и price (цена), что соответствует значениям в столбцах description, details и price таблицы Products (Товары).

После обновления страницы http://localhost/output.php вы увидите следующий результат (рис. 4.11).

Рис. 4.11. Отображение полученной информации на странице

Полезно также изучить HTML-код этой страницы (в Internet Explorer для этого нужно нажать кнопку Страница и в появившемся меню выбрать пункт Просмотр HTML-кода). Вы увидите результат работы цикла while и, в частности, значения элементов массива (рис. 4.12).

Рис. 4.12. HTML-код страницы

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

Функция mysql_fetch_array() возвращает как ассоциативный массив, так и массив с числовыми индексами. Таким образом, вы можете обращаться к значению, хранящемуся в строке, используя либо имя столбца, либо порядковый номер столбца в результате запроса. Например, код, представленный в листинге 4.4, можно переписать следующим образом (листинг 4.5).

Листинг 4.5. Получение информации и отображение ее на странице

<html>

<head>

<title>Работа с MySQL</title>

</head>

<body>

<h1>Список товаров</h1>

<!– Выводим список товаров –>

<table>

<!– Выводим заголовок списка товаров –>

<tr>

<th>Наименование</th>

<th>Описание</th>

<th>Цена</th>

</tr>

<?php

//Соединяемся с сервером MySQL

$connection = mysql_connect(«localhost»,»username»,»userpassword»);

if(!$connection) die(“Ошибка доступа к базе данных.

Приносим свои извинения”);

//Выбираем базу данных SalesDept (Отдел продаж)

if(!mysql_select_db(«SalesDept»))

die(“База данных отсутствует. Приносим свои извинения”);

//Устанавливаем кодировку CP-1251

mysql_query(“SET NAMES cp1251”);

//Получаем список товаров

$qresult = mysql_query(«SELECT * FROM Products»);

if(!$qresult) die(“Ошибка доступа к базе данных.

Приносим свои извинения”);

//Очередную строку из результата запроса (информацию о товаре)

// записываем в массив $product

while ($product=mysql_fetch_array($qresult))

{

//выводим элементы массива $product с номерами 1, 2, 3

print «n<tr><td>{$product[1]}</td>

<td>{$product[2]}</td>

<td>{$product[3]}</td></tr>n»;

}

?>

</table>

</body>

Результат выполнения приложения при этом не изменится.

Итак, мы рассмотрели функции, обеспечивающие получение данных из базы и работу с этими данными. Однако при выполнении запросов к базе данных возможно возникновение ошибок. Чтобы устранить эти ошибки, необходимо иметь подробную информацию о них. В следующем подразделе мы рассмотрим этот вопрос подробнее.

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

Для получения сведений о возникшей ошибке взаимодействия с базой данных предназначены функции

mysql_error([<Указатель на соединение>])

и

mysql_errno([<Указатель на соединение>])

Функция mysql_error() возвращает описание ошибки, произошедшей при выполнении последней SQL-команды (или пустую строку, если команда была выполнена успешно). Функция mysql_errno() возвращает код ошибки, произошедшей при выполнении последней SQL-команды (или 0, если команда была выполнена успешно).

Значения, возвращаемые функциями mysql_error() и mysql_errno(), как и системные сообщения об ошибках, нежелательно отображать на веб-странице, чтобы не раскрывать информацию об архитектуре приложения. Вместо этого рекомендуется записывать сведения об ошибке в файл или отсылать по электронной почте разработчику или администратору приложения.

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

error_reporting(0)

В случае возникновения ошибки сформируем собственное сообщение, содержащее дату и время, номер и описание ошибки. Записать это сообщение в log-файл или отправлять по электронной почте позволяет функция

error_log(«<Текст сообщения>», <Тип сообщения>,»<Адрес доставки>»)

Дополните сценарий output.php обработкой ошибок (листинг 4.6). Листинг 4.6. Обработка ошибок

<html>

<head>

<title>Работа с MySQL</title>

</head>

<body>

<h1>Список товаров</h1>

<!– Выводим список товаров –>

<table>

<!– Выводим заголовок списка товаров –>

<tr>

<th>Наименование</th>

<th>Описание</th>

<th>Цена</th>

</tr>

<?php

//Отключаем вывод системных сообщений об ошибках

error_reporting(0);

//Соединяемся с сервером MySQL

$connection = mysql_connect(«localhost»,»username»,»userpassword»);

if(!$connection) die(“Ошибка доступа к базе данных.

Приносим свои извинения”);

//Выбираем базу данных SalesDept (Отдел продаж)

//В случае ошибки формируем сообщение, записываем его в файл

//и отправляем по электронной почте

if(!mysql_select_db(“SalesDept”))

{

$err_message=date(«Y.m.d H:i:s»).»

«.mysql_errno().» «.mysql_error().»rn»;

error_log($err_message,3,»/mysqlerror.log»);

error_log($err_message,1,» [email protected]»);

die(“Ошибка доступа к базе данных. Приносим свои извинения”);

}

//Устанавливаем кодировку CP-1251

mysql_query(«SET NAMES cp1251»);

//Получаем список товаров

$qresult = mysql_query(«SELECT * FROM Products»);

//Проверяем результат выполнения запроса; в случае ошибки формируем //

сообщение, записываем его в файл и отправляем по электронной почте

if(!$qresult)

{

$err_message=date(«Y.m.d H:i:s»).»

«.mysql_errno().» «.mysql_error().»rn»;

error_log($err_message,3,»/mysqlerror.log»);

error_log($err_message,1,» [email protected]»);

die(“Ошибка доступа к базе данных. Приносим свои извинения”);

}

//Очередную строку из результата запроса (информацию о товаре)

// записываем в ассоциативный массив $product

while ($product=mysql_fetch_assoc($qresult))

{

//выводим элементы массива $product с именами description (наименование), //

details (описание) и price (цена)

print «n<tr><td>{$product[«description»]}</td>

<td>{$product[«details»]}</td>

<td>{$product[«price»]}</td></tr>n»;

}

?>

</table>

</body>

Если при выполнении запроса произойдет ошибка, например окажется, что таблица Products (Товары) была удалена, то сообщение вида 2008.06.15 14:22:53 1146 Table 'salesdept.products' doesn't exist будет записано в файл mysqlerror.log, находящийся в папке htdocs корневой папки XAMPP, и отправлено на адрес [email protected] (тип сообщения 3 соответствует записи в файл, тип 1 – отправке по электронной почте). На веб-странице при этом отобразится нейтральное сообщение: «Ошибка доступа к базе данных. Приносим свои извинения».

Итак, мы завершили создание приложения, которое получает информацию из базы данных. В следующем подразделе мы рассмотрим обратный пример – приложение, которое записывает в базу данные, введенные пользователем на вебстранице.


Виктор Гольцман читать все книги автора по порядку

Виктор Гольцман - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки mybooks.club.


MySQL 5.0. Библиотека программиста отзывы

Отзывы читателей о книге MySQL 5.0. Библиотека программиста, автор: Виктор Гольцман. Читайте комментарии и мнения людей о произведении.

Прокомментировать
Подтвердите что вы не робот:*
Подтвердите что вы не робот:*
Все материалы на сайте размещаются его пользователями.
Администратор сайта не несёт ответственности за действия пользователей сайта..
Вы можете направить вашу жалобу на почту librarybook.ru@gmail.com или заполнить форму обратной связи.