пʼятниця, 11 березня 2011 р.

Підключення до MySQL бази за допомогою PHP

В попередній статті PHP, ми за допомогою утиліти phpMyAdmin, створили базу, таблицю та створили перший запис.
Синтаксис мови програмування PHP, схожий з іншими мовами програмування (Java, C++, JavaScript...), тобто після кожного рядка (дії), ставиться крапка з комою, всі цикли і методи оточуються фігурними дужками.
Однак, для того, щоб сервер Apache зрозумів з якого моменту починається, і де закінчується програма PHP. Використовують позначки "<?" та "?>". Між цими двома позначками пишеться програма, однак деякі налаштування сервера передбачають, щоб починалася не з "<?", а з "<?php". Змінні (переменные) в мові PHP починаються зі знаку $ (долара).
Для створення локального сайту потрібно створити каталог з назвою сайту в директорії WebServer/home/. Потім, в створеному каталозі, створити каталог з назвою "www". Приклад зображений на скріншоті:

Після створення каталогів потрібно перезавантажити Apache (Денвер, запустити Restart.exe). Після вдалого перезавантаження, створіть в каталозі "www" файл "index.php", та відкрийте його, за допомогою текстового редактора (Блокнот, AkelPad, NotePad...), я раджу використовувати редактори з нумерацією рядків.
Спочатку, позначаємо що далі йде PHP програма ("<?php" та "?>"), між позначками пишемо:
$conn = mysql_connect("localhost", "tor", "123") or die(mysql_error());
mysql_select_db("exa");
Перша строчка означає - підключення до MySql сервера; localhost - ім’я сервера (для Денвера у всіх випадках така назва, а на хостингу вам дадуть свою назву); tor, 123 - логін і пароль, який створили для бази; or die(mysql_error()) - означає якщо не підключиться то виведе помилку.
Друга строчка означає, що для подальших дій обирається база під назвою "exa".
Далі нам потрібно взяти дані з бази (продовжуємо писати в PHP дужках):
$sql = "SELECT * FROM massage";
$q = mysql_query($sql) or die(mysql_error());
Перша строчка формує запит до серверу (на мові SQL). Друга строчка відправляє змінну-запит на сервер, якщо не може відправити - пише помилку.
Наступною дією є - виведення на сторінку взятих даних з бази. Наприклад, виведемо дані в вигляді таблиці.
echo '<table>';
while ($row = mysql_fetch_assoc($q)) {
         echo '<tr>
         <td>'.$row["id"].'</td>
         <td>'.$row["text"].'</td>
         <td>'.$row["user"].'</td>
         </tr>';

}
echo '</table>';
Цей код є синтезом мови PHP та HTML. PHP перетворює взяті дані в масив (mysql_fetch_assoc($q)), та повторюючи для кожного запису, виводить дані в вигляді рядків таблиці. HTML виконує роль розміщення даних у вигляді таблиці.
Спочатку засобами PHP виводиться тег таблиці він неповторюється. Далі, повторюється для кожного знайденого запису, виведення тегів, та вставляння в них даних, за допомогою змінних.
Після циклу таблиця закривається виведенням тегу.
Загальний код файлу має вигляд:
<?

$conn = mysql_connect("localhost", "tor", "123") or die(mysql_error());
mysql_select_db("exa");

$sql = "SELECT * FROM massage";
$q = mysql_query($sql) or die(mysql_error());

echo '<table>';
while ($row = mysql_fetch_assoc($q)) {
         echo '<tr>
         <td>'.$row["id"].'</td>
         <td>'.$row["text"].'</td>
         <td>'.$row["user"].'</td>
         </tr>';

}
echo '</table>';
?>

четвер, 10 березня 2011 р.

Створення бази за допомогою phpMyAdmin

При створенні сайту, спершу потрібно створити базу даних.
Я використовую пакет програм Денвер, тому буду описувати роботу саме на ньому.
Для створення нового користувача та бази потрібно запустити веб сервер (якщо ви цього ще не зробили), потрібно зайти в каталог WebServer->Denwer, та запустіть файл Run.exe (створити віртуальний том та запустити сервер). Ці дії можливо здійснювати тільки під правами адміністратора. Якщо все пройшло вірно, після введенні в браузер адреси http://localhost/, повинно з’явитися наступне:
Якщо не з’явилося, потрібно перезавантажити сервер (Restart.exe), або шукати програми, які можуть конфліктувати з 80 портом (наприклад Skype), та вимикати або переналаштовувати їх. Також якщо в Вас доступ до мережі інтернет через проксі, добавте localhost і всі хости, які ви створюєте, в виклювчення (исключения).
Якщо ви все ж таки побачили цю сторінку, прокрутивши нижче в підзаголовку "Утилиты", ви можете знайти пункт "Заведение новых БД и пользователей MySQL", натиснувши на цьому пункті, ви побачите наступне:

На цій сторінці потрібно заповнити форму. Перший пунк залишається порожнім, другий - ім’я бази даних, третій - логін користувача бази, щоб потім підключатися до неї, четвертий і п’ятий - пароль користувача. Далі натискається "Создать БД и пользователя".
Для данної статті я обрав наступне (для прикладу): назва БД - "exa", логін - "tor", пароль - "123".
Після вдалого створення бази, повертаємось до попередньої сторінки http://localhost/denwer/, та в томуж підзаголовку обираємо "phpMyAdmin - администрирование СУБД MySQL", після цього повинна з’явитися сторінка phpMyAdmin.

Вибираємо створену базу даних (моя обведена червоним колом). Поки що, замість списку таблиць бази, буде написано "No tables found in database.". В іншій половині вікна знаходиться форма створення нової таблиці. В полі "Name" вписується назва таблиці, а в полі "Number of fields" - кількість полів. Для зручності створюється перше поле "id" (номер попорядку), це буде ключове поле, яке нумерує записи в таблиці (не повинно повторюватись, і на нього треба орієнтуватися, коли робиш дії з записами).

Для прикладу створимо таблицю відправлених повідомлень. Таблиця має поля: id (номер попорядку), text (текст повідомлення), user (ім’я користувача). Тобто всього полів 3.
Вводимо в формі створення таблиці Ім’я - "massage", кількість полів - 3, та натискаємо на кнопку "Go".
Після цього з’являється сторінка заповнення параметрів полів:

Перше поле - Field: id, Index: Primary (первичный ключ). Друге поле - Field: text, Type: text, Colletion: cp1251_general_ci(кодування Windows-1251). Третє поле - Field: user, Type: text, Colletion: cp1251_general_ci. Після введення всіх параметрів натискаєм "Save".
За допомогою цієї утиліти також можна заповняти таблицю, для цього в верхньому меню натисніть на "Insert". Після цього з’явиться форма для заповнення полів таблиці.

Можна заповнити її, як зображено на малюнку, та натиснути "Go".