Відмінності між версіями «Робота з базами даних в PHP»

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук
(Створена сторінка: * category:Навчальні проекти)
 
 
(не показані 14 проміжних версій 4 учасників)
Рядок 1: Рядок 1:
 +
Для прикладу роботи PHP з базами даних будемо використовувати LAMP-сервер (Linux Apache MySQL PHP).<br>
 +
Зпочатку з'єднаємось з сервером бази даних за допомогою функції mysql_connect();<br>
 +
Для цього треба вказати:<br>
 +
1. Адресу сервера бази даних - $hostname = "localhost" (127.0.0.1) для локального сервера;<br>
 +
2. Ім'я користувача, зареєстрованого на сервері БД;<br>
 +
3. Пароль цього користувача.<br>
 +
Функція
 +
 +
    mysql_connect  ([string $server = ini_get("mysql.default_host")  [,
 +
                    string $username = ini_get("mysql.default_user")  [,
 +
                    string $password = ini_get("mysql.default_password")  [,
 +
                    bool $new_link = false  [,
 +
                    int $client_flags = 0  ]]]]] )
 +
 +
повертає ідентифікатор з'єднання або FALSE.<br>
 +
Наприклад:
 +
 +
    <?php
 +
    //означимо змінні з даними для авторизації
 +
    $username = "your_name";
 +
    $password = "your_password";
 +
    $hostname = "localhost";
 +
    //підключимось до серверу БД
 +
    $dbhandle = mysql_connect($hostname, $username, $password) or die("Неможливо підключитись до MySQL");
 +
    echo "Підключення до MySQL пройшло успішно";
 +
    ?>
 +
 +
Потім треба вибрати базу даних, з якою будемо працювати. Для цього використаємо функцію
 +
   
 +
    bool mysql_select_db  (  string $database_name  [,  resource $link_identifier  ] )
 +
 +
Наприклад:
 +
 +
    <?php
 +
    //виберемо базу даних з якою будемо працювати
 +
    $selected = mysql_select_db("examples",$dbhandle) or die("Неможливо вибрати базу examples");
 +
    ?>
 +
 +
,де examples - ім'я бази даних.<br>
 +
Наступним кроком буде безпосередньо робота з даними засобами SQL-запитів. Для цього в PHP використовують функцію <br>
 +
   
 +
    resource mysql_query  (  string $query  [,  resource $link_identifier  ] )
 +
 +
, обов'язковим параметром якої є рядок, що містить SQL-запит.<br>
 +
 +
Наприклад:<br>
 +
 +
    <?php
 +
    //виконуємо SQL запит і приймаємо дані
 +
    $result = mysql_query("SELECT 'id', 'model', 'year' FROM 'cars'");
 +
    //опрацьовуємо вибрані дані
 +
    while ($row = mysql_fetch_array($result))
 +
        {
 +
        echo "ID:".$row['id']." Name:".$row['model']."Рік".$row['year'];
 +
        }
 +
    ?>
 +
 +
В прикладі використана функція mysql_fetch_array(); - вона повертає рядок із $result (що є частиною "таблиці" БД), і переміщає внутрішній покажчик вперед на 1(що зручно для обробки даних в циклі).<br>
 +
 +
Після роботи з базою даних, треба закрити з'єднання за допомогою функції<br>
 +
 +
    bool mysql_close  ([  resource $link_identifier  ] )
 +
 +
Якщо ідентифікатор не вказаний, то закривається останнє відкрите з'єднання.<br>
 +
 +
Наприклад:<br>
 +
 +
    <?php
 +
    //закрити з'єднання
 +
    mysql_close($dbhandle); або просто mysql_close();
 +
    ?>
 +
 +
Ми розглянули випадок, коли база даних вже існує, і ми лише спробували маніпулювати даними з її таблиці. Насправді ж засобами PHP можна виконувати багато різноманітних задач при роботі з базами даних. Для цього PHP пропонує великий вибір функцій, з якими можна ознайомитись [http://www.php.net/manual/en/ref.mysql.php тут]<br>
  
 
[[category:Інтернет-програмування|*]]
 
[[category:Інтернет-програмування|*]]
  
 
[[category:Навчальні проекти]]
 
[[category:Навчальні проекти]]

Поточна версія на 06:26, 20 травня 2013

Для прикладу роботи PHP з базами даних будемо використовувати LAMP-сервер (Linux Apache MySQL PHP).
Зпочатку з'єднаємось з сервером бази даних за допомогою функції mysql_connect();
Для цього треба вказати:
1. Адресу сервера бази даних - $hostname = "localhost" (127.0.0.1) для локального сервера;
2. Ім'я користувача, зареєстрованого на сервері БД;
3. Пароль цього користувача.
Функція

   mysql_connect  ([string $server = ini_get("mysql.default_host")  [,
                   string $username = ini_get("mysql.default_user")  [,
                   string $password = ini_get("mysql.default_password")  [,
                   bool $new_link = false  [,
                   int $client_flags = 0  ]]]]] )

повертає ідентифікатор з'єднання або FALSE.
Наприклад:

   <?php
   //означимо змінні з даними для авторизації
   $username = "your_name";
   $password = "your_password";
   $hostname = "localhost"; 
   //підключимось до серверу БД
   $dbhandle = mysql_connect($hostname, $username, $password) or die("Неможливо підключитись до MySQL");
   echo "Підключення до MySQL пройшло успішно";
   ?>

Потім треба вибрати базу даних, з якою будемо працювати. Для цього використаємо функцію

   bool mysql_select_db  (  string $database_name  [,  resource $link_identifier  ] )

Наприклад:

   <?php
   //виберемо базу даних з якою будемо працювати
   $selected = mysql_select_db("examples",$dbhandle) or die("Неможливо вибрати базу examples");
   ?>

,де examples - ім'я бази даних.
Наступним кроком буде безпосередньо робота з даними засобами SQL-запитів. Для цього в PHP використовують функцію

   resource mysql_query  (  string $query  [,  resource $link_identifier  ] )

, обов'язковим параметром якої є рядок, що містить SQL-запит.

Наприклад:

   <?php
   //виконуємо SQL запит і приймаємо дані
   $result = mysql_query("SELECT 'id', 'model', 'year' FROM 'cars'");
   //опрацьовуємо вибрані дані
   while ($row = mysql_fetch_array($result)) 
       {
       echo "ID:".$row['id']." Name:".$row['model']."Рік".$row['year'];
       }
   ?>

В прикладі використана функція mysql_fetch_array(); - вона повертає рядок із $result (що є частиною "таблиці" БД), і переміщає внутрішній покажчик вперед на 1(що зручно для обробки даних в циклі).

Після роботи з базою даних, треба закрити з'єднання за допомогою функції

   bool mysql_close  ([  resource $link_identifier  ] )

Якщо ідентифікатор не вказаний, то закривається останнє відкрите з'єднання.

Наприклад:

   <?php
   //закрити з'єднання
   mysql_close($dbhandle); або просто mysql_close();
   ?>

Ми розглянули випадок, коли база даних вже існує, і ми лише спробували маніпулювати даними з її таблиці. Насправді ж засобами PHP можна виконувати багато різноманітних задач при роботі з базами даних. Для цього PHP пропонує великий вибір функцій, з якими можна ознайомитись тут