Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2014-01 КНЯЗЕВА_Эл_бизнес / Электронный бизнес_Князева.doc
Скачиваний:
50
Добавлен:
20.02.2016
Размер:
1.24 Mб
Скачать
      1. Стандартные функции рнр для работы с MySql

PHP имеет целый ряд встроенных функций для работы с СУБД MySQL.

Соединение с сервером

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

mysql_pconnect (те же аргументы)

Первым аргументом может быть имя или адрес. Номер порта указывается, если он отличается от стандартного (3306). Функция возвращает идентификатор соединения.

Функция mysql_pconnect() устанавливает устойчивое соединение, которое не разрывается после завершения работы сценария, а mysql_connect() – неустойчивое. Если другой PHP-сценарий сделает вызов функции mysql_pconnect() с аналогичными аргументами, то устойчивое соединение будет использовано повторно.

Выбор базы данных

mysql_select_db(имя_бд)

Выполнение указанного запроса

mysql_query(имя_переменной с текстом запроса, имя_переменной с идентификатором соединения)

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

Извлечение информации

о столбцах (полях):

mysql_fetch_field(имя_переменной с идентификатором запроса)

Функция возвращает объект, содержащий описание полей указанного набора записей. В свойстве name этого объекта содержится вся информация о столбце, включая его тип и размерность.

Получить значения из записей (строк) можно разными способами:

  1. mysql_fetch_row (имя_переменной с идентификатором запроса)

Функция возвращает массив значений столбцов, индексация которых начинается с 0.

Для обхода всех записей в наборе данных (массиве) можно использовать оператор цикла foreach, который обеспечивает последовательный переход от записи к записи и присвоение значения каждого следующего элемента массива новой переменной:

foreach (имя_переменной с результатом извлечения записи as перем_для вывода а экран)

  1. mysql_fetch_array(имя_переменной с идентификатором запроса)

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

Пример визуализации данных из хранилища на web-странице:

<?php

$dbLink=@mysql_pconnect("localhost");

mysql_select_db("Staff",$dbLink);

$Query="Select * FROM Registration";

$dbResult=mysql_query($Query,$dbLink);

/*вариант 1*/

print "<hr>";

$dbRes=mysql_query($Query,$dbLink);

print "<table border=1><tr>";

while ($field=mysql_fetch_field($dbRes))

{print ("<th>$field->name</th>");}

print "</tr>";

while ($row=mysql_fetch_row($dbRes))

{foreach($row as $r)

{print ("<td>$r</td>");}

print ("</tr>");}

print ("</table>")

/*вариант 2*/

echo "<p align=center>";

print "<table border=1>";

print "<th>Номер</th><th>Фамилия</th></tr>";

print "<tr>";

while ($f=mysql_fetch_array($dbResult))

{echo "<td>".$f["Number"]."</td><td>".$f["Sername"]."</td></tr>";}

print "</table>";

mysql_close($dbLink);

?>

      1. Ввод данных

Для ввода данных необходимо выполнить запрос на вставку:

INSERT INTO назв_таблицы (название_поля_1, назв_поля_2, ….., назв_поля_N) VALUES (‘значение_1’, ‘знач_1’, ……., знач_N’).

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

INSERT INTO назв_таблицы VALUES (‘значение_1’, ‘знач_1’, ……., знач_N’).

Если вставка данных производится в поле типа AUTO_INCREMENT, то вводится пустое значение, т.е. кавычки открываются и сразу закрываются, например:

<?php

$dbL=………….//соединение с сервером;

…………………//выбор БД;

$Q_ins=”INSERT INTO Прайс VALUES (‘’, ‘Хлеб городской’, ‘шт.’, 11)”;

mysql_query($Q_ins, $dbL); ?>

Ввод данных пользователем можно организовать с помощью текстовых полей на форме:

echo “<form method=get>”;

$a; echo “<input type=text name=a >”;

$b; echo “<input type=text name=b >”;

$c; echo “<input type=text name=c >”;

$d; echo “<input type=text name=d >”;

$Q_ins=”INSERT INTO Прайс VALUES(‘$a’,’$b’,’$c’,’$d’)”;

echo “<input type=submit value=ОТПРАВИТЬ>”;

echo “</form>”;