Page 150 - 4636
P. 150

@ $db = mysqliconnect (' localhost', 'bookorama', 'book,oramal23 ',.
        'books');
              Наведена функція повертає ресурс, а не об'єкт. Цей ресурс являє собою з'єднання з базою даних, і
        при використанні процедурного підходу потрібно передавати його в усі  інші функції  mysqli. Даний
        підхід дуже схожий на роботу з файловими функціями на зразок fopen().Більшість функцій mysqli
        мають і об'єктно-орієнтований, і процедурний інтерфейс. У загальному випадку, відмінності між ними
        полягають у тому, що імена процедурних варіантів функцій починаються з префікса mysqli_, і їм
        необхідно передавати ресурс, який отримано в результаті виклику функції mysqli_connect ().
        Винятком з цього правила є підключення до бази даних, оскільки воно виконується конструктором
        класу mysqli.Результат спроби підключення повинен бути перевірений, оскільки в разі невдалого
        підключення решті код працювати не буде. Перевірка здійснюється з допомогою такого коду:
              if (mysqli_connect_errno()) { echo 'Помилка: Не вдалося встановити
        з'єднання' .'з базою даних. Повторіть спробу пізніше.';exit;}
              (Цей    код    однаковий     і   для    об'єктно-орієнтованої,    і   для    процедурної     версії.)
        Функціяmysqliconnect  errno()  повертає  номер  помилки  або  0  в  разі  вдалого  підключення.
        Зверніть увагу, що рядок, у якому робиться спроба підключення до бази даних, починається з операції
        видалення помилок @. У цьому випадку можна організувати власну обробку помилкових ситуацій.
        (Обробку помилок можна також реалізувати і за допомогою винятків, проте в даному прикладі було
        вирішено їх не використовувати.) Слід пам'ятати, що в MySQL кількість сполук, які можуть існувати
        одночасно, обмежена. Ця межа визначається параметром max connections. Його призначення (як і
        спорідненого йому параметра MaxClientsдля веб-сервера Apache) - вказати сервер, щоб він відхиляв
        нові  запити  на  з’єднання,  щоб  не  допустити  повного  використання  ресурсів  комп'ютера  в  години
        найвищого завантаження або при аварії програмного забезпечення.  Значення цих параметрів можна
        змінювати, редагувати конфігураційні  файли. Щоб встановити значення параметра MaxClients  в
        Apache, слід внести зміни у файлhttpd.conf. Налаштування параметрів max_connections в MySQL
        здійснюється шляхом редагування файлу my.conf.
              Вибір бази даних
              Працюючи з MySQL в командній строці, необхідно вказувати використовувану базу даних:
              usebooks;
              Те  ж  саме  необхідне  і  при  Інтернет-підключенні.  База  даних,  яка  повинна  використовуватися,
        вказується  в  параметрі  конструктора  mysqli  або  функції  mysqli_connect().Якщо  згодом
        знадобиться  змінити  пошукову  базу  даних,  для  цього  служить  функція  mysqli_select_db(),
        доступ до якої здійснюється наступним чином:
              $db->select_db(имя_БД) або
              mysqli_select db(ресурсБД, ім’я_БД)
              І  тут  підтримуються  обидві  версії  функції  -  об'єктно-орієнтована  і  процедурна,  -  причому
        процедурна  відрізняється  лише  префіксом  mysqli_в  імені  і  параметром,  в  якому  повинен
        передаватися ресурс підключення.
              Виконання запиту до бази даних
              Щоб виконати запит, необхідно скористатися функцією mysqliquery ().Однак спочатку цей
        запит необхідно сформувати:
              $query = "select * frombooks, where ".$searchtype." like"%".
        $searchterm."%'";
              У  цьому  випадку  буде  виконуватися  пошук  введених  користувачем  ($searchterm)  в
        зазначеному  їм  полі($searchtype).  Зверніть  увагу,  що  для  перевірки  відповідності  ми  вжили
        операцію  like,  а  не  equal-  при  пошуку  в  базі  даних  зазвичай  має  сенс  дещо  розширити  межі
        пошуку.Тепер можна виконати запит:
              $result = $db->query ($query);
              Або, якщо ви віддаєте перевагу процедурному інтерфейсу, запит буде виглядати так:
                                                            147
   145   146   147   148   149   150   151   152   153   154   155