- •М іністерство освіти й науки україни Запорізький національний технічний університет методичні вказівки
- •Загальні відомості
- •Вимоги до оформлення звіту
- •1.1.2 Рядки
- •1.1.3 Файли
- •1.2 Завдання на виконання роботи
- •1.3 Контрольні питання
- •2 Лабораторна робота №2 Робота з формами
- •2.1 Теоретичні відомості
- •2.1.1 Інтерфейс Common Gateway Interface (cgi)
- •2.1.2 Форми
- •2.2 Завдання на виконання роботи
- •3.1.1 Функції php для роботи із скбд MySql
- •3.1.2 Установка скбд MySql
- •3.1.3 Основні команди мови sql
- •3.2 Завдання на виконання роботи
- •3.3 Контрольні питання
- •4 Лабораторна робота №4
3.1.1 Функції php для роботи із скбд MySql
mysql_change_user
Змінює зареєстрованого користувача активного на даний момент з'єднання чи з'єднання, наданого необов'язковим параметром link_identifier. Якщо база даних визначена, то після зміни користувачем активної на даний момент бази даних призначаються установки за замовчуванням. Якщо авторизація нового користувача і пароля дає збій, то приєднаний на даний момент користувач залишається активним.
int mysql change user (string user, string password,[string database],
[int link_identifier])
mysql_close
Повертає true у випадку успіху, false у випадку збою. Функція mysql_сlоsе закриває з'єднання з MySQL-сервером, зв'язаним із заданим ідентифікатором посилання. Якщо аргумент $link_identifier не заданий, то використовується останнє відкрите посилання. Як правило, використовувати функцію myscl_close() немає потреби, оскільки непостійні відкриті посилання автоматично закриваються при закінченні виконання програми. Примітка: myscl close() не закриває постійні посилання, створені за допомогою mysql_pconnect().
int mysql_close([int link_identifier])
mysql_connect()
Повертає позитивний ідентифікатор MySQL-посилання у випадку успіху і повідомляє про помилку у випадку збою. Установлює зв'язок з MySQL-сервером. Якщо при другому виклику функцій використовуються ті ж аргументи, то не встановлюється ніякого нового посилання. Замість цього повертається ідентифікатор вже існуючого посилання.
int mysql_connect([string :/path/to/socket] [string usemame],
[string password])
mysql_create_db
Намагається створити нову базу даних на сервері, зв'язаному з заданим ідентифікатором посилання.
int mysql_create_db (string database_name, [int link_identifier])
mysql_db_query
Повертає позитивний MySQL-ідентифікатор результату чи запиту false у випадку помилки. Функція mysql_db_query() вибирає базу даних і виконує запит до неї. Якщо необов'язковий ідентифікатор посилання не визначений, то функція намагається знайти відкрите посилання на сервері MySQL. Якщо такого посилання не знайдено, то функція намагається створити його, як би використовуючи функцію mysql_connect() без аргументів. Див. також mysql connect().
int mysql_db_query(string database, string query,
[int link_identifier])
mysql_drop_db
Повертає true у випадку успіху, false у випадку збою. Функція mysql_drop_db() намагається видалити повну базу даних із сервера, зв'язаного з заданим ідентифікатором посилання.
int mysql_drop_db( string databasename, [int link_identifier])
mysql_fetch_array
Повертає масив, що відповідає обраному рядку, або false, якщо рядків більше не існує. Крім збереження даних у числових індексах масиву результатів вона також зберігає дані в асоціативних індексах, використовуючи імена полю або як ключі. Якщо два чи більше стовпці результату мають однакові імена полю, то останній стовпець буде мати пріоритет. Для звертання до іншого стовпця (стовпцям), що має таке ж ім'я, потрібно використовувати числовий індекс стовпця або привласнити йому альтернативне ім'я.
array mysql_fetch_array( int result, [int result_type])
mysql_fetch_assoc
Повертає асоціативний масив, що відповідає обраному рядку, чи false, якщо більше рядків не існує. Вона повертає тільки асоціативний масив. Так спочатку працювала функція mysql_fetch_array(). Якщо необхідно одержати і числові індекси, і асоціативні, то потрібно використовувати функцію mysql_fetch_array(). Якщо два чи більше стовпці результату мають однакові імена полю, то останній стовпець буде мати пріоритет. Щоб звернутися до іншого стовпцz (стовпцям) з тим же ім'ям, потрібно використовувати функцію mysql_fetch_array() і зробити так, щоб вона повернула і числові індекси.
array mysql_fetch_assoc( int result)
mysql_field_len
Повертає довжину заданого полю.
int mysql_field_len( int result, int field_offset)
mysql_field_name
Повертає ім'я заданого польового індексу. $result повинний бути дійсним ідентифікатором результату і $field_index — числовим зсувом полю.
Примітка: $field_index починається з 0. Наприклад, індексом третього поля є 2, індексом четвертого — 3 і т.д.
string mysql_field_name( int result, int field_index) Приклад:
// Таблиця users складається з трьох полів:
// user_id
// username
// password,
$res = mysql_db_query("users", "select * from users", $link);
echo mysql_fleld_name($res, 0) "\n";
echo mysql_fleld_name ($res, 2);
Приведений приклад зробив би наступний вивід:
user_id
password
mysql_free_result
Звільняє всю пам'ять, зв'язану з ідентифікатором результату $result. Функцію mysql_free_result() необхідно викликати тільки в тому випадку, коли потрібно довідатися, скільки пам'яті використовується для запитів, що повертають великі результуючі множини. Уся зв'язана пам'ять результату автоматично звільняється наприкінці виконання програми.
int mysql_free_result( int result)
mysql_num_fields
Повертає кількість полів у результуючому безлічі. Див. також mysql_db_query(), mysql_query(), і mysql_num_rows().
int mysql__num_fields( int result)
mysql_num_rows
Повертає кількість рядків у результуючій множини. Ця команда дійсна тільки для операторів SELECT. Для одержання кількості рядків, повернутих з INSERT, UPDATE чи DELETE, потрібно використовувати функцію mysql_affected_rows(). Див. також mysql_db_query(), mysql_query().
int mysql_num_rows( int result)
mysql_pconnect
Повертає позитивний MySQL-ідентифікатор постійного посилання у випадку успіху чи false у випадку помилки. Установлює з'єднання із сервером MySQL. Для відсутніх необов'язкових параметрів прийняті наступні значення за замовчуванням: $host:port = localhost:3306, $usemame = ім'я користувача, що використовує процес сервера, і $password = порожній пароль. Рядок імені хоста може також включати номер порту, наприклад, hostname:port чи шлях до сокету, такий як : /path/to/socket для локального хоста.
int mysql_pconnect([string :/path/to/socket], [string usemame],
[string password])
Функція mysql_pconnect() за своєю роботою дуже нагадує функцію mysql_connect(), але між ними є дві великі відмінності. По-перше, при з'єднанні функція mysql_pconnect() спочатку намагається знайти (постійну) посилання, уже відкриту тим же самим хостом, ім'ям користувача і паролем. Якщо таке посилання знайдене, то замість відкриття нового з'єднання буде повернутий її ідентифікатор. По-друге, з'єднання із сервером SQL не закривається після завершення виконання програми. Замість цього посилання залишиться відкритої для майбутнього використання (функція mysql_close() не закриває посилання, установлені функцією mysql_pconnect()). Тому цей тип посилання зветься "постійним".
mysql_query
Відсилає запит в активну в даний час базу даних на сервері, зв'язану з заданим ідентифікатором посилання. Якщо $link_identifier не заданий, то приймається останнє відкрите посилання. Якщо відкритого посилання немає, то функція намагається установити посилання, як би викликаючи функцію mysql connect() без аргументів, і потім використовує це посилання.
Примітка: рядок запиту не повинний закінчуватися крапкою з комою. Функція mysql_query() повертає true (не рівний нулю) чи false, щоб указати, чи був запит вдалим. Повернуте значення true означає, що запит є дозволеним і може бути виконаний сервером. Це значення не вказує кількості ушкоджених чи повернутих рядків. Цілком можливо зробити запит, що не впливає на рядки чи не повертає ніяких рядків.
Функція mysql_query() також дає збій і повертає false у випадку, якщо не має дозволу доступу до таблиці (таблицям), зазначеної в запиті. Якщо запит є успішним, то можна викликати функцію mysql_num_rows() для з'ясування кількості рядків, повернутих для оператора SELECT, або функцію mysql_affected_rows() для з'ясування кількості рядків, на которые вплинули оператори DELETE, INSERT, REPLACE або UPDATE. Для операторів SELECT функція mysql_query() повертає новий ідентифікатор результату, який можна передати в mysql_result(). Якщо робота з результуючою множиною закінчена, то можна звільнити ресурси, зв'язані з нею, за допомогою виклику функції mysql free_result(). Однак, пам'ять буде автоматично звільнена наприкінці виконання програми. Див. також mysql_db_query(), mysql_free_result(), mysql_result(), mysql_select_db(), mysql_connect().
mysql_result
Повертає вміст однієї комірки від MySQL результуючої множини. Аргументом полю може бути зсув полю, ім'я полю або конструкція fieldname.tablename. Якщо стовпцю було привласнено альтернативне ім'я, то потрібно використовувати це ім'я замість імені стовпця. При роботі з великою результуючою множиною варто розглянути можливість використання однієї з функцій, що вибирають повний рядок. Оскільки ці функції повертають зміст множинних комірок при одному звертанні до них, вони працюють набагато швидше функції mysql_result(). Також слід зазначити, що числовий зсув аргументу полю визначається набагато швидше, ніж ім'я полю або tablename.fieldname-аргумент. Виклики функції mysql_result() не повинні бути змішані з викликами інших функцій, що мають справу з результуючою множиною.
Рекомендується наступний високоефективний варіант: mysql_fetch_array().
mixed mysql_result( int result, int row, [mixed field])
mysql_select_db
Повертає true у випадку успіху, false у випадку помилки. Встановлює поточну активну базу даних на сервері, зв'язаному з заданим ідентифікатором посилання. Якщо не задано ніякого ідентифікатора посилання, то приймається останнє відкрите посилання. Якщо відкритого посилання немає, то функція намагається установити посилання, як би викликаючи функцію mysql_connect(), а потім використовує це посилання. Кожен наступний виклик функції mysql_query() здійснюється на активній базі даних.
int mysql_select_db( string database name, [int link_identifier])
