Для разработки web-приложений, оперирующих большими объемами данных, наибольшую популярность получила "связка" языка PHP и СУБД mySQL (http://www.mysql.com). Введение в язык SQL применительно к СУБД mySQL дано в учебном пособии "Основы языка SQL". Ниже дан пример простой PHP-программы, генерирующей HTML-таблицу из содержимого SQL-таблицы СУБД mySQL.
<?php /* Установление соединения с СУБД mySQL, функционирующей на узле mysql_host */ $link = mysql_connect("mysql_host", "mysql_user", "mysql_password") or die("Could not connect : " . mysql_error()); print "Connected successfully"; /* Выбор БД my_database */ mysql_select_db("my_database") or die("Could not select database"); /* Выполнение SQL-запроса */ $query = "SELECT * FROM my_table"; $result = mysql_query($query) or die("Query failed : " . mysql_error()); /* Формирование HTML-таблицы */ print "<table>\n"; /* Цикл чтения строк SQL-таблицы в ассоциативный массив */ while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) { print "\t<tr>\n"; /* Цикл по всем элементам ассоциативного массива */ foreach ($line as $col_value) { print "\t\t<td>$col_value</td>\n"; } print "\t</tr>\n"; } print "</table>\n"; /* Освобождение памяти, занятой результатами выполнения запроса */ mysql_free_result($result); /* Закрытие соединения с СУБД mySQL */ mysql_close($link); ?>Далее кратко описаны функции PHP, наиболее часто используемые при работе с СУБД mySQL.
resource mysql_connect ([string server [, string username [, string password]]])
устанавливает соединение с СУБД mySQL, функционирующей на узле server,
используя имя пользователя username с паролем password. Умолчательным
значением пароля служит пустая строка "". При отсутствии аргумента
username используется имя владельца процесса web-сервера.
Значением "по умолчанию" аргумента server является
"localhost:3306".
Соединение с СУБД будет закрыто автоматически при завершении выполнения
программы, если до этого оно не было закрыто явно с помощью функции
mysql_close().
bool mysql_close (resource link_identifier)
закрывает ранее открытое соединение с СУБД mySQL с идентификатором
link_identifier.
bool mysql_select_db (string database_name, resource link_identifier)
устанавливает в качестве "текущей" для последующих SQL-запросов
БД с именем database_name, используя соединение с идентификатором
link_identifier.
resource mysql_query (string query, resource link_identifier)
посылает запрос query к "текущей" БД, используя соединение с
идентификатором link_identifier. Для запросов SELECT, SHOW, EXPLAIN и
DESCRIBE возвращается указатель на результат запроса или FALSE, если
запрос не выполнен. Во всех остальных случаях функция mysql_query() возвращает
TRUE или FALSE. Текст запроса не должен заканчиваться символом";".
bool mysql_free_result (resource result)
освобождает память, занимаемую результатом result ранее выданного запроса.
Если до момента окончания программы для какого-то результата не была
вызвана функция mysql_free_result(), память освобождается автоматически.
int mysql_num_rows (resource result)
возвращает количество строк в результате result, полученном после
выполнения запроса SELECT.
int mysql_affected_rows (resource link_identifier)
возвращает количество строк, затронутых последним запросом INSERT, UPDATE или DELETE,
выполненным по соединению с идентификатором link_identifier.
array mysql_fetch_row (resource result)
возвращает индексируемый массив, содержащий в качестве элементов
значения (типа string) столбцов очередной строки запроса SELECT,
результат которого размещен в памяти, указываемой result.
Целочисленный ключ первого элемента в массиве равен 0.
При достижении конца списка строк-результатов функция mysql_fetch_row()
возвращает FALSE.
array mysql_fetch_assoc (resource result)
возвращает ассоциативный массив, содержащий в качестве элементов
значения (типа string) столбцов очередной строки запроса SELECT,
результат которого размещен в памяти, указываемой result.
Строковые ключи элементов массива совпадают с именами извлеченных
столбцов таблиц части FROM SQL-оператора SELECT (для избежания
неоднозначностей рекомендуется использовать синонимомизацию
посредством AS).
При достижении конца списка строк-результатов функция mysql_fetch_assoc()
возвращает FALSE.
array mysql_fetch_array (resource result [, int result_type])
возвращает массив, содержащий в качестве элементов
значения (типа string) столбцов очередной строки запроса SELECT,
результат которого размещен в памяти, указываемой result.
Способ индексирования массива задается аргументом result_type:
константа MYSQL_NUM заставляет PHP создать целочисленные ключи,
константа MYSQL_ASSOC - строковые ключи, а MYSQL_BOTH - те и другие.
Умолчательное значение - MYSQL_BOTH.
При достижении конца списка строк-результатов функция mysql_fetch_array()
возвращает FALSE.
int mysql_errno (resource link_identifier)
возвращает код ошибки последней выполненной функции обращения к СУБД mySQL
(0 в случае удачного завершения).
string mysql_error (resource link_identifier)
возвращает текст описания ошибки последней выполненной функции обращения к СУБД mySQL
(пустую строку "" в случае удачного завершения).