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

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук
Рядок 19: Рядок 19:
 
     //connection to the database
 
     //connection to the database
 
     $dbhandle = mysql_connect($hostname, $username, $password) or die("Unable to connect to MySQL");
 
     $dbhandle = mysql_connect($hostname, $username, $password) or die("Unable to connect to MySQL");
     echo "Connected to MySQL<br>";
+
     echo "Connected to MySQL";
 
     ?>
 
     ?>
  
Рядок 38: Рядок 38:
 
     resource mysql_query  (  string $query  [,  resource $link_identifier  ] )
 
     resource mysql_query  (  string $query  [,  resource $link_identifier  ] )
  
, обов'язковим параметром якої є радок, що містить SQL-запит.<br>
+
, обов'язковим параметром якої є рядок, що містить SQL-запит.<br>
  
 
Наприклад:<br>
 
Наприклад:<br>
Рядок 49: Рядок 49:
 
         {
 
         {
 
         echo "ID:".$row{'id'}." Name:".$row{'model'}."
 
         echo "ID:".$row{'id'}." Name:".$row{'model'}."
         ".$row{'year'}."<br>";
+
         ".$row{'year'}.";";
 
         }
 
         }
 
     ?>
 
     ?>
  
В прикладі використана функція mysql_fetch_array();. Вона повертає рядок з $result, що є частиною "таблиці" БД, і потім переміщає внутрішній покажчик вперед на 1 рядок.<br>
+
В прикладі використана функція mysql_fetch_array(); - вона повертає рядок із $result (що є частиною "таблиці" БД), і переміщає внутрішній покажчик вперед на 1(що зручно для обробки даних в циклі).<br>
  
 
Після роботи з базою даних, треба закрити з'єднання за допомогою функції<br>
 
Після роботи з базою даних, треба закрити з'єднання за допомогою функції<br>

Версія за 00:35, 22 квітня 2010

Для прикладу роботи 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"; 
   //connection to the database
   $dbhandle = mysql_connect($hostname, $username, $password) or die("Unable to connect to MySQL");
   echo "Connected to MySQL";
   ?>

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

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

Наприклад:

   <?php
   //select a database to work with
   $selected = mysql_select_db("examples",$dbhandle) or die("Could not select examples");
   ?>

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

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

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

Наприклад:

   <?php
   //execute the SQL query and return records
   $result = mysql_query("SELECT id, model, year FROM cars");
   //fetch tha data from the database
   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
   //close the connection
   mysql_close($dbhandle); або просто mysql_close();
   ?>

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