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