Відмінності між версіями «Робота з базами даних в PHP»
| (не показані 10 проміжних версій 3 учасників) | |||
| Рядок 7: | Рядок 7: | ||
Функція | Функція | ||
| − | mysql_connect ([string $server = ini_get("mysql.default_host") [, | + | 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> | повертає ідентифікатор з'єднання або FALSE.<br> | ||
| Рядок 14: | Рядок 17: | ||
<?php | <?php | ||
| + | //означимо змінні з даними для авторизації | ||
$username = "your_name"; | $username = "your_name"; | ||
$password = "your_password"; | $password = "your_password"; | ||
$hostname = "localhost"; | $hostname = "localhost"; | ||
| − | // | + | //підключимось до серверу БД |
| − | $dbhandle = mysql_connect($hostname, $username, $password) or die(" | + | $dbhandle = mysql_connect($hostname, $username, $password) or die("Неможливо підключитись до MySQL"); |
| − | echo " | + | echo "Підключення до MySQL пройшло успішно"; |
?> | ?> | ||
| Рядок 29: | Рядок 33: | ||
<?php | <?php | ||
| − | // | + | //виберемо базу даних з якою будемо працювати |
| − | $selected = mysql_select_db("examples",$dbhandle) or die(" | + | $selected = mysql_select_db("examples",$dbhandle) or die("Неможливо вибрати базу examples"); |
?> | ?> | ||
| Рядок 43: | Рядок 47: | ||
<?php | <?php | ||
| − | // | + | //виконуємо SQL запит і приймаємо дані |
| − | $result = mysql_query("SELECT id, model, year FROM cars"); | + | $result = mysql_query("SELECT 'id', 'model', 'year' FROM 'cars'"); |
| − | // | + | //опрацьовуємо вибрані дані |
while ($row = mysql_fetch_array($result)) | while ($row = mysql_fetch_array($result)) | ||
{ | { | ||
| − | echo "ID:".$row | + | echo "ID:".$row['id']." Name:".$row['model']."Рік".$row['year']; |
| − | + | ||
} | } | ||
?> | ?> | ||
| Рядок 64: | Рядок 67: | ||
<?php | <?php | ||
| − | // | + | //закрити з'єднання |
mysql_close($dbhandle); або просто mysql_close(); | mysql_close($dbhandle); або просто mysql_close(); | ||
?> | ?> | ||
Поточна версія на 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 пропонує великий вибір функцій, з якими можна ознайомитись тут