Відмінності між версіями «Робота з базами даних в PHP»
(Створена сторінка: * category:Навчальні проекти) |
|||
Рядок 1: | Рядок 1: | ||
+ | Для прикладу роботи PHP з базами даних будемо використовувати LAMP-сервер (Linux Apache MySQL PHP).<br> | ||
+ | Зочатку з'єднаємось з сервером бази даних за допомогою функції 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<br>"; | ||
+ | ?> | ||
+ | |||
+ | Потім треба вибрати базу даних, з якою будемо працювати. Для цього використаємо функцію | ||
+ | |||
+ | 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'}."<br>"; | ||
+ | } | ||
+ | ?> | ||
+ | |||
+ | В прикладі використана функція mysql_fetch_array();. Вона повертає рядок з $result, що є частиною "таблиці" БД, і потім переміщає внутрішній покажчик вперед на 1 рядок. | ||
+ | |||
+ | Після роботи з базою даних, треба закрити з'єднання за допомогою функції | ||
+ | |||
+ | bool mysql_close ([ resource $link_identifier ] ) | ||
+ | |||
+ | Якщо ідентифікатор не вказаний, то закривається останнє відкрите з'єднання. | ||
+ | |||
+ | Наприклад: | ||
+ | |||
+ | <?php | ||
+ | //close the connection | ||
+ | mysql_close($dbhandle); або просто mysql_close(); | ||
+ | ?> | ||
+ | |||
+ | Ми розглянули випадок, коли база даних вже існує, і ми лише спробували маніпулювати даними з її таблиці. Насправді ж засобами PHP можна виконувати багато різноманітних задач при роботі з базами даних. Для цього PHP пропонує великий вибір функцій, з якими можна ознайомитись [http://www.php.net/manual/en/ref.mysql.php тут] | ||
+ | TechInfo: | ||
+ | 1) Зпочатку, для перевірки роботи ПХП з MySQL виконаємо скрипт: | ||
+ | <?php | ||
+ | $dblocation = "127.0.0.1"; // localhost | ||
+ | $dbname = "test"; | ||
+ | $dbuser = "root"; | ||
+ | $dbpasswd = ""; | ||
+ | |||
+ | $dbhandle = mysql_connect($dblocation, $dbuser, $dbpasswd); | ||
+ | if (!$dbhandle) | ||
+ | { | ||
+ | echo "<p>Cервер MySQL недоступний!</p>"; | ||
+ | exit(); | ||
+ | } | ||
+ | if (!mysql_select_db($dbname,$dbhandle) ) | ||
+ | { | ||
+ | echo "<p>База даних недоступна!</p>"; | ||
+ | exit(); | ||
+ | } | ||
+ | $ver = mysql_query("SELECT VERSION()"); | ||
+ | if(!$ver) | ||
+ | { | ||
+ | echo "<p>Помилка в запиті</p>"; | ||
+ | exit(); | ||
+ | } | ||
+ | echo mysql_result($ver, 0); | ||
+ | ?> | ||
+ | Якщо тест пройшов вдало, то на екран буде виведено номер версії сервера MySQL. В іншому випадку буде виведена відповідна помилка. | ||
+ | |||
[[category:Інтернет-програмування|*]] | [[category:Інтернет-програмування|*]] | ||
[[category:Навчальні проекти]] | [[category:Навчальні проекти]] |
Версія за 00:28, 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 пропонує великий вибір функцій, з якими можна ознайомитись тут TechInfo: 1) Зпочатку, для перевірки роботи ПХП з MySQL виконаємо скрипт:
<?php $dblocation = "127.0.0.1"; // localhost $dbname = "test"; $dbuser = "root"; $dbpasswd = "";
$dbhandle = mysql_connect($dblocation, $dbuser, $dbpasswd); if (!$dbhandle) {echo "
Cервер MySQL недоступний!
";exit(); } if (!mysql_select_db($dbname,$dbhandle) ) {echo "
База даних недоступна!
";exit(); } $ver = mysql_query("SELECT VERSION()"); if(!$ver) {echo "
Помилка в запиті
";exit(); } echo mysql_result($ver, 0); ?>
Якщо тест пройшов вдало, то на екран буде виведено номер версії сервера MySQL. В іншому випадку буде виведена відповідна помилка.