Page 153 - 4636
P. 153

$isbn=$GLOBALS['isbn'
           ];$author=$GLOBALS['author'];$title=$GLOBALS['title'
           ];$price=$GLOBALS['ціна'];
           if (!$isbn II. $author II. $title II. $ціна) }
           echo "Виневвеливсінеобхіднівідомості.<br />"
           ."Повернітьсянапопереднюсторінкутаповторітьвведення.";exit;}if
           (!get_magic_quotes_gpc()) {$isbn = addslashes($isbn);$author =
           addslashes($author) ;$title = addslashes($title);$price =
           doubleval($ціна);}@ $db = new mysqli('localhost', 'bookorama',
           'bookorama!23', ’книги'); якщо (mysqli_connect_errno()) (echo "Помилка:
           невдалосявстановитиз'єднання" ." збазоюданих.
           Повторітьспробупізніше.";вихід;}$query = "insert into book values('
           ".$isbn."', "'. $аuthor."', '".$title. " ', ' " . $price."')"; $result
           = $db->query($query);if ($result) {echo $db->affected_rows."
           книгадоданавбазуданих.";} else {echo "помилка. Книганезанесена.";}$db-
           >close () ;?></body></html>
              Результати успішного додавання книги в базу даних можна побачити на рис. 8.4.


















               Рисунок 8.4 - Сценарій завершено успішно і повідомляє про додавання книги в базу даних

              Після вивчення кодуinsert_book.phpстає ясно, що він багато в чому схожий на код сценарію для
        вилучення інформації з бази даних. Ми перевіряємо, що всі поля форми заповнені, і, якщо необхідно,
        форматуємо їх за допомогою функції addlashes() для вставки у базу даних:
              if (!get_magic_quotes_gpc()) {$isbn = addslashes($isbn);$author =
        addglashes($author) ;$title = addslashes($title);$price =
        doubleval($price);}
              Оскільки ціни зберігаються у базі у вигляді чисел з плаваючою крапкою, їм не потрібні слеші.
        Цього  можна  домогтися  за  допомогою  функції  doubleval(),  яка відфільтровує всі  невідповідні
        символи в числовому полі – вона розглядалась раніше. Ця ж функція подбає і про всі символи валюти,
        які  користувач  може  ввести  в  форму.  Ми  знову  з’єднуємося  з  базою  даних,  створюючи  примірник
        mysqli і готуючи запит, який повинен бути відправлений в базу даних. В даному випадку це SQL -
        запит INSERT:
              ?query = "insert into books values(.$isbn." 1, ' ".$author." ', ' ".
        $title."', . $price."')$result = $db->query($query) ;
              Цей  запит  виконується  в  базі  даних  за  допомогою  виклику  $db->query()  (або
        mysqli_query(), якщо ви віддаєте перевагу процедурному підходу).Одна істотна відмінність між
        SQL-операторами         INSERT       і     SELECT        пов'язано      з     використанням        функції



                                                            150
   148   149   150   151   152   153   154   155   156   157   158