Створення з'єднання з бд mysql різними способами, php

Без з'єднання з базою даних (БД) сьогодні не працює практично жоден сайт. тому і ми розглянемо як з'єднуватися з MySQL за допомогою php.

Створення з'єднання з БД на PHP різними способами:

1) старий дідівський спосіб підключення до MySQL:

$ Conn = mysql_connect ($ db_hostname, $ db_username, $ db_password) or die ( "Ні підключення до сервера");
mysql_select_db ($ db_database, $ conn) or die ( "Ні вдалося з'єднатися з БД");

- пояснення до змінних нижче.

При цьому використовуються функції:

  • mysql_connect () - для підключення до сервера;
  • mysql_select_db () - для підключення до БД;

При цьому постійно перевіряємо на наявність помилки у такий спосіб: or die ( "Помилка така то"); - перекладається як або помри з такою-то помилкою - щоб відразу знайти де помилка.

Приклад з'єднання з БД на php з вибіркою з таблиці

// змінні для з'єднання з БД
$ Host = 'localhost'; / хост
$ Username = 'root'; // пароль для підключення до БД
$ Password = ''; // пароль для подлюченія до бази даних - на локальному комп'ютері він може мати пусте значення.
$ Database_name = 'my-dolgi'; // ім'я БД

// старий спосіб злився з БД
mysql_connect ($ host, $ username, $ password) or die ( "Не можу з'єднатися створити з'єднання");

// вибрати БД. Якщо помилка - вивести
mysql_select_db ($ database_name) or die (mysql_error ());

// Виконати запит. Якщо помилка - виводимо
$ Result = mysql_query ( 'SELECT Name, Money FROM Dolg ORDER BY Money DESC LIMIT 5') or die (mysql_error ());

echo "Кому я повинен по спадаючій:

";

// Вибірка результатів запиту
while ($ row = mysql_fetch_assoc ($ result)) echo $ row [ 'Name']. "З боргом". $ Row [ 'Money']. "Рублів.
";
>

// звільнення використовуваної пам'яті
mysql_free_result ($ result);

// Закриваємо з'єднання
mysql_close ();

2) Більш прогресивний процедурний стиль - з'єднання з БД за допомогою mysqli:

  1. зручніше;
  2. швидше до 40 разів;
  3. підвищено безпеку;
  4. є нові можливості і функції;

Приклад з'єднання з БД на php з вибіркою з таблиці


// злився з БД
$ Link = mysqli_connect ( 'localhost', 'username', 'password', 'name-database'); // тут вводимо прям дані ваші: ім'я користувача, пароль і ім'я БД, перше поле зазвичай localhost

// вивід помилки з'єднання
if (! $ link) echo "Помилка підключення до БД. Код помилки:". mysqli_connect_error ();
exit;
>

Зверніть увагу - скрізь використовується mysqli. а не mysql.

// Виконати запит. Якщо помилка - виводимо
if ($ result = mysqli_query ($ link, 'SELECT Name, Money FROM Dolg ORDER BY Money DESC LIMIT 5'))

echo "Кому я повинен по спадаючій:

";

// Вибірка результатів запиту
while ($ row = mysqli_fetch_assoc ($ result)) echo $ row [ 'Name']. "З боргом". $ Row [ 'Money']. "Рублів.
";
>

// звільнення використовуваної пам'яті
mysqli_free_result ($ result);

Як бачимо, деякі моменти помінялися (виділені курсивом).

3) Об'єктно-орієнтований метод підключення до бд MySQL - за допомогою методів і класів:

Мінуси: складніше і менш чутливий до помилок.

Плюси: стислість і зручність для програмістів з досвідом.

$ Conn = new mysqli ($ db_hostname, $ db_username, $ db_password, $ db_database);
if ($ conn-> connect_errno) die ($ conn-> connect_error);
> else

тут в принципі все інтуїтивно зрозуміло:

  • $ Db_hostname - це хост (в основному localhost),
  • $ Db_database - ім'я БД;
  • $ Db_username і $ db_password - ім'я користувача та пароль відповідно!

Приклад з'єднання з БД на php стиль ООП з вибіркою з таблиці


// злився з БД
$ Mysqli = new mysqli ( 'localhost', 'username', 'password', 'name-database'); // тут вводимо прям дані ваші: ім'я користувача, пароль і ім'я БД, перше поле зазвичай localhost

// вивід помилки з'єднання
if ($ mysqli-> connect_error) die ( 'Помилка підключення до БД: ('. $ mysqli-> connect_errno. ')'. mysqli_connect_error);
>

Зверніть увагу - скрізь використовується mysqli. а не mysql. і на відміну від попереднього методу з'являються стрілочки "->", які показують, що це стиль ООП.

// Виконати запит. Якщо помилка - виводимо
if ($ result = $ mysqli-> query ( 'SELECT Name, Money FROM Dolg ORDER BY Money DESC LIMIT 5'))

echo "Кому я повинен по спадаючій:

";

// Вибірка результатів запиту
while ($ row = $ result-> fetch_assoc ()) echo $ row [ 'Name']. "З боргом". $ Row [ 'Money']. "Рублів.
";
>

// звільнення використовуваної пам'яті
$ Result-> close ();

Завдання вам таке - знайти відмінності.

4) Зв'язок з БД за допомогою PDO:

При з'єднанні з базою даних MySQL використовуються підготовлені вираження (методом prepare) і в результаті більша безпека і сильно збільшує швидкодію.

config файл від попереднього методу! - такий же

// PDO стиль для зв'язку з MySQL
if ($ stmt = $ mysqli-> prepare ( "SELECT Name, Voney FROM Dolg ORDER BY Money <. LIMIT 5"))

$ Stmt-> bind_param ( "i", $ summa);
$ Summa = 100000;

// запускаємо виконання
$ Stmt-> execute ();

echo "Кому я повинен по спадаючій:

";

// Вибірка результатів запиту
while ($ stmt-> fetch ()) echo $ col1. "З боргом". $ Col2. "Рублів.
";
>

// звільнення використовуваної пам'яті
$ Stmt-> close ();

// Закриваємо з'єднання
$ Mysqli-> close ();

Як бачимо, тут набагато складніше і треба вивчати PDO - це окрема тема.

Схожі статті