русс | укр

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

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

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

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


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

Добавление записей в таблицу


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


 

Добавление записей в таблицу также выполняется с помощью запросов. Пример добавления записей в таблицу «bank» приведен ниже.

 

<html>

<body>

<?php

$db = mysql_connect("localhost","root");

mysql_select_db("client-bank",$db);

$result=mysql_query("INSERT INTO `bank` ( `KodBank` , `NameBank` , `Adress` )

VALUES ('231', 'Аваль', 'г. Харьков, ул. Мира, 11')",$db);

mysql_close($db);

?>

</body>

 

Рис. 3. Запись в таблицу «bank» добавлена

 

Аналогично с помощью запросов выполняется удаление и обновление данных в таблице.

 

6.4.6.3. Вывод данных из БД

 

Вывод данных из БД осуществляется также с помощью запросов. Далее приведен пример вывода записи из таблицы «bank»

 

<html>

<body>

<?php

$db = mysql_connect("localhost","root");

mysql_select_db("client-bank",$db);

$result=mysql_query("SELECT * FROM bank",$db);

printf("Код банка: %s<br>\n",mysql_result($result,0,"KodBank"));

printf("Наименование банка: %s<br>\n",mysql_result($result,0,"NameBank"));

printf("Адрес банка: %s<br>\n",mysql_result($result,0,"Adress"));

mysql_close($db);

?>

</body>

</html>

Результат запуска созданного php-файла представлен на рис. 4.

 

Рис. 4. Вывод данных из БД

 

Рассмотрим построчно, что происходит в этой программе. Функция mysql_connect()открывает связь с сервером баз данных MySQL. В качестве параметров мы указываем ей имя узла (localhost), на котором находится база данных, имя пользователя (root), под которым мы будем с ней работать, и пароль (данном случае он пустой и потому не указывается).



Имя узла localhost означает, что сервер MySQL находится на той же машине, что и сам Web-сервер с PHP-движком. В принципе ничто не мешает вам (имея права ) обратиться к серверу MySQL, который находится на соседней машине или вообще на другом конце земного шара.

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

В результате выполнения функции mysql_select_db()мы получаем значение true или false. Если соединение с базой данных произошло успешно – true, если нет – false. Для того, чтобы наша программа работала более интеллектуально, мы можем при желании проанализировать возвращаемое значение и если оно будет false, вывести хорошее информативное сообщение об ошибке.

И наконец, обращаемся к базе данных с запросом, написанным на языке SQL. Для этого служит функция mysql_query(). В качестве первого параметра мы передаем текст запроса, а в качестве второго – идентификатор, полученный от выполнения функции mysql_connect().

Результаты выполнения функции mysql_query()– записи, удовлетворяющие нашему запросу - помещаем в переменную $result.

С помощью функции mysql_result()извлекаем из результатов выполнения нашего запроса (т.е. переменной $result), первый ряд-запись (который имеет порядковый номер 0), и значение определенного поля (по его имени ).

Таким образом, данная программа выводит только одну запись на экран. Следующая программа выводит все записи из таблицы «bank».

 

<html>

<body>

<?php

$db = mysql_connect("localhost", "root");

mysql_select_db("client-bank",$db);

$result = mysql_query("SELECT * FROM bank",$db);

if($myrow = mysql_fetch_array($result))

{

echo "<table border=1>\n";

echo "<tr><td>Код</td><td>Название</td><td>Адрес</td></tr>\n";

do

{

printf("<tr><td>%s </td><td>%s </td><td>%s</td></tr>\n", $myrow["KodBank"], $myrow["NameBank"],

$myrow["Adress"]);

}

while ($myrow = mysql_fetch_array($result));

echo "</table>\n";

}

else

{

echo "Sorry, no records were found!";

}

?>

</body>

</html>

 

Результат выполнения данного файла приведен на рис. 5.

 

Рис. 5. Результат вывода всех данных таблицы «bank»

 

Цикл while говорит, что до тех пор, пока в переменной $result остается запись для выборки, ее необходимо извлечь с помощью функции mysql_fetch_arrayи присвоить переменной $myrow. А после этого выполнить код, что расположен внутри фигурных скобок "{}".

Обычно гораздо удобнее сразу присвоить значения всех полей записи элементам индексируемого массива (начиная с индекса 0). Задача решается функцией mysql_fetch_row( ), имеющей следующий синтаксис:

array mysql_fetch_row (int результат)

Функции mysql_fetch_rowв качестве параметра подается массив $result. Функция выбирает из него строку, которую мы можем записать в переменную, $myrow и автоматически переходит на следующую строку. Вызвав снова mysql_fetch_row, выберем следующую строку из массива, и так далее до тех пор, пока не достигнем конца массива. В этом случае mysql_fetch_rowвернет значение false, которое послужит нам сигналом, что все записи выбраны и можно завершить цикл.

Но в данной программе вместо функции mysql_fetch_row()использовали функцию mysql_fetch_array(). Она работает точно так же, как и mysql_fetch_row()за одним исключением: с помощью этой функции можно обращаться к каждому полю массива не по номеру, а по имени. Например, если раньше для получения имени нам приходилось писать $myrow[1] (1 – второй столбец массива ), то теперь мы можем писать $myrow["KodBank"] ("KodBank"– название столбца в базе данных и в массиве ). Второй вариант естественно гораздо информативнее и удобнее.

Аналогично можно выводить данные запроса с условием. Пример вывода данных из таблицы «bank» с кодом банка равным 123 приведен ниже.

 

<html>

<body>

<?php

$db = mysql_connect("localhost", "root");

mysql_select_db("client-bank",$db);

$result = mysql_query("SELECT * FROM bank where KodBank='123'",$db);

if($myrow = mysql_fetch_array($result))

{

echo "<table border=1>\n";

echo "<tr><td>Код</td><td>Название</td><td>Адрес</td></tr>\n";

do

{

printf("<tr><td>%s </td><td>%s </td><td>%s</td></tr>\n", $myrow["KodBank"], $myrow["NameBank"],

$myrow["Adress"]);

}

while ($myrow = mysql_fetch_array($result));

echo "</table>\n";

}

else

{

echo "Sorry, no records were found!";

}

?>

</body>

</html>

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

 



<== предыдущая лекция | следующая лекция ==>
Создание таблицы БД | Описание предметной области


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


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

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

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


 


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

 
 

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

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