Як зробити запис до бази даних MySQL, використовуючи PHP код. Як використовувати PHP для вставки рядків у базу даних MySQL Додавання в mysql через php

Як зробити запис до бази даних MySQL, використовуючи PHP код.  Як використовувати PHP для вставки рядків у базу даних MySQL Додавання в mysql через php

У цьому уроці ми розглянемо, як вставляти дані в БД безпосередньо з ваших скриптів РНР.

Вставка даних із використанням SQL

Ви використовуєте SQL для вставки даних у БД так само, як використовуєте SQL для створення БД та таблиць. Синтаксис SQL-запиту такий:

INSERT INTO Ім'яТаблиці (стовпець1, стовпець 2, ...) VALUES(значення1,значення 2, ...)

Як бачите, ви можете оновлювати кілька стовпців в одному SQL-операторі, вказуючи їх у розділеному комами списку. Але, зрозуміло, можна специфікувати лише один стовпець і одне значення. Стовпці, не згадані в цьому SQL-операторі, залишаться порожніми.

Приклад: Вставка нової персони у таблицю

У цьому прикладі ми використовуємо БД з Уроку 18 . Скажімо, ми хочемо вставити персону у БД. Це може бути Gus Gooseз номером телефону 99887766 та датою народження 1964-04-20 .

Оператор SQL може виглядати так:

$strSQL = "INSERT INTO people(FirstName,LastName,Phone,BirthDate) VALUES("Gus","Goose","99887766 ","1964-04-20")";

Як бачите, SQL-оператори можуть бути дуже довгими і можна легко втратити слід. Тому краще записувати SQL-оператор трохи інакше:

strSQL = "INSERT INTO people("; strSQL = strSQL. "FirstName,"; strSQL = strSQL. "LastName," strSQL = strSQL. "Phone,"; strSQL = strSQL. "birth)"; strSQL = strSQL. "VALUES ("; strSQL = strSQL ." "Gus", "; strSQL = strSQL. ""Goose", "; strSQL = strSQL. "99887766", "; strSQL = strSQL. "1964-04-20"); mysql_query($strSQL) or die(mysql_error());

Тут SQL-оператор будується з розподілом пропозиції на невеликі частини з наступним об'єднанням їх у змінну $strSQL.

На практиці немає різниці у застосуванні того чи іншого методу, але при роботі з великими таблицями стає вкрай важливою можливість "тримати слід", тому вибирайте найбільш підходящий метод.

Спробуємо виконати наступний код для вставки Gus Goose у БД:

Вставка даних у БД // З'єднання із сервером БД mysql_connect("mysql.myhost.com", "user", "sesame") or die (mysql_error());// Вибір БД mysql_select_db("mydatabase") or die(mysql_error()); // Побудова SQL-оператора $strSQL = "INSERT INTO people(";) $strSQL = $strSQL. "FirstName,"; $strSQL = $strSQL. "LastName,"; $strSQL = $strSQL. "Phone,"; $strSQL = $strSQL. "BirthDate)"; $strSQL = $strSQL. "VALUES("); $strSQL = $strSQL. ""Gus", "; $strSQL = $strSQL. ""Goose", "; $strSQL = $strSQL. "99887766", "; $strSQL = $strSQL. "1964-04-20"); // SQL-оператор виконується mysql_query($strSQL) або die (mysql_error()); // Закриття з'єднання mysql_close(); ?>

БД оновлено!

Збереження введення користувача в БД

Ви, мабуть, вже зрозуміли, що для цього можна створити форму, як в Уроці 11, а значення форми можна вставити в SQL-оператор. Припустимо, у вас є проста форма:

Ця форма надсилається у файл insert.php, де ви, як показано в Уроці 11, можете отримати введення користувача, запросивши вміст форми. В даному конкретному випадку SQL-оператор може бути таким:

strSQL = "INSERT INTO people(FirstName) values("" . $_POST["FirstName"] . "")"

Аналогічно можна запитати дані кук, сесій рядків запиту та ін.

Найбільш поширені помилки початківців

Спочатку ви, можливо, отримуватимете купу повідомлень про помилки при спробах оновити БД. Працюючи з БД абсолютно неприпустимі ніякі похибки. Неправильно поставлена ​​кома може означати, що БД не оновлюється, і ви отримаєте повідомлення про помилку. Нижче ми описуємо найпоширеніші помилки.

Неправильний тип даних

Важливо, щоб дані та тип даних стовпця відповідали один одному. Кожен стовпець може містити дані певного типу. Наступний скріншот показує типи даних таблиці “people” з нашого прикладу.

Видається помилка, якщо ви, наприклад, спробуєте вставити текст або число в поле даних. Отже, встановлюйте тип даних якнайточніше.

Нижче перераховані найбільш уживані типи даних:

Значення Тип даних Розмір
CHR
Текст або комбінація тексту та чисел. Може також використовуватися для числа, які не використовуються під час розрахунків (напр., номери телефонів). До 255 символів - або довжина, що визначається "Length"
TEXT
Великі блоки тексту або комбінація тексту та чисел. До 65,535 символів
INT
Числові дані для математичних обчислень. 4 байти
DATE
Дати у форматі РРР-ММ-ДД 3 байти
TIME
Час у форматі чч:мм:сс 3 байти
DATETIME
Дата та час у форматі РРР-ММ-ДД чч:мм:сс 8 байт

SQL-оператори з лапками або зворотними слешами

Якщо ви спробуєте вставити текст, що містить символи одинарної лапки ("), подвійної лапки (") або зворотного слеша (\), запис не буде вставлено в БД. Рішенням буде підстановка обернених слешів перед символами, які повинні менімонізуватися при вставці в запити БД.

У цьому посібнику ви познайомитеся з тим, як почати керувати базою даних із вашого PHPскрипт. Ви вивчите додавання запису до таблиці MySQL,використовуючи PHP код. Перш ніж почати, ознайомтесь з нашими іншими посібниками, які розкривають основні кроки роботи з PHP та базами даних – підключення з PHP до бази даних MySQL (англ.).

Перед початком перевірте наявність наступного:

  • Доступ до вашої панелі керування хостингом

Крок 1 - Створення таблиці

Насамперед, нам потрібно створити таблицю для ваших даних. Це дуже проста процедура, яку ви можете зробити в phpMyAdminз вашої панелі керування хостингом. Ми вже описували процес створення бази даних MySQL у попередньому посібнику, тому ми пропустимо цей момент тут.

Після входу на сторінку phpMyAdmin ви побачите подібну картину:

Створимо таблицю під назвою Studentsдля нашої бази даних u266072517_name. Створити нову таблицю можна за кнопкою Create Table. Після цього ви побачите нову сторінку, де можна ввести всі необхідні дані для своєї таблиці:

Це найпростіший спосіб створення таблиці, для отримання більшої інформації щодо структури таблиці/бази даних та які налаштування можна використовувати для кожного поля, зверніться до офіційної документації phpMyAdmin (англ.).

Наведемо тут кілька простих пояснень полів, які ми будемо використовувати:

  • Name– це ім'я поля. Буде відображено у верхній частині вашої таблиці.
  • Type– тут можна встановити тип поля. Наприклад, ми вибираємо varchar, тому що тут потрібно ввести рядок з ім'ям (у якому є букви, не цифри).
  • Length/Values– використовується для визначення максимальної довжини запису в цьому полі.
  • Index– ми використовуємо індекс “Primary” для нашого поля “ID”. При створенні таблиці рекомендується мати одне поле ID. Вона використовується для індексації записів таблиці, коли налаштовуються взаємозв'язку між таблицями. Тут також можна відзначити "A_I", що означає Auto Increment. Ця установка автоматично збільшуватиме індекс (1,2,3,4…).

Натисніть Saveі вашу таблицю буде створено.

Крок 2 - Створення PHP коду та додавання запису до таблиці MySQL

Варіант 1 - Метод MySQLi

Насамперед, потрібно встановити з'єднання з базою даних, згідно з нашим попереднім посібником . Після цього ми можемо продовжити із SQL запитом на додавання запису до таблиці MySQL – INSERT. Тут повний приклад коду з підключенням та методом вставки:

" . mysqli_error($conn); ) mysqli_close($conn); ?>

Таким чином перша частина коду (рядки 3 – 18 ) відносяться до частини встановлення з'єднання до бази даних. Ми не будемо знову проходити по цій частині, якщо ви хочете знати, що означає кожен рядок, зверніться до нашого попереднього керівництва, як підключитися до бази даних (англ.).

Почнемо з рядка 19 :

$sql = "INSERT INTO Students (name, lastname, email) VALUES ("Thom", "Vial", " [email protected]")";

Це найважливіший рядок коду, вона робить усе, що ми описуємо у цьому посібнику – додавання записи в таблицю MySQL до бази даних. INSERT INTO– це вираз, який додає запис до зазначеної таблиці бази даних MySQL. У нашому прикладі ми додаємо дані до таблиці Students.

Рухаючись далі, у дужках, ми визначаємо поля таблиці, значення яких будемо додавати: (name, lastname, email). Дані будуть додані у певному порядку. Якщо ми напишемо (email, lastname, name)значення будуть додані в іншому порядку.

Наступна частина значення VALUES. Тут ми задаємо наші значення раніше вказані поля. Таким чином, кожне поле набуде свого значення. Наприклад, у нашому випадку це буде щось на зразок: name = Thom, lastname = Vial, email = [email protected] .

Що важливо відзначити, що тут ми формуємо запит SQL, використовуючи код PHP. SQL запити повинні бути укладені в лапки. У нашому прикладі, все між лапками і те, що йде після $sql = це SQL запит.

Наступна частина коду ( 20 – 22 рядки) запускає наш запит та проводить перевірку успішності виконання запиту:

If (mysqli_query($conn, $sql)) ( echo "New record created successfully"; )

Виводиться повідомлення про успіх, якщо запит був запущений правильно.

І остання частина ( 22 – 24 рядки) показують інше повідомлення на випадок невдалого виконання нашого запиту:

Else ( echo "Error: " . $sql . "
" . mysqli_error($conn); )

Цей код відображає нам повідомлення про помилку, якщо щось пішло не так.

Варіант 2 – Метод об'єктів даних PHP (P HP D ata O bject)

Як і в попередньому прикладі, нам потрібно насамперед виконати підключення до бази даних, яке здійснюється при створенні нового об'єкта PDO – попереднє керівництво розповідає про те, як це відбувається. Оскільки підключення до бази даних MySQL – це PDO об'єкт, ми повинні використовувати різні PDO 'методи' (своєрідні функції, які є частиною певного об'єкта) для підготовки та запуску запиту. Методи об'єктів викликаються таким чином:

$the_Object->the_Method();

PDO дозволяє підготувати SQL код перед його виконанням. Запит SQL обчислюється та коригується перед запуском. Так, проста атака шляхом ін'єкції SQL може бути виконана заповнюючи код SQL в полі форми. Наприклад:

// User writes this in username field of login form thom"; DROP DATABASE user_table; // The final query becomes this "SELECT * FROM user_table WHERE username = thom"; DROP DATABASE user_table;

Оскільки SQL код синтаксично правильний, точка з комою робить з DROP DATABASE user_tableновий запит SQL, і вашу таблицю користувачів видалено. Вирази, що готуються, не дозволяють символи і ; для завершення вихідного запиту, та інструкція DROP DATABASEніколи не виконається.

Завждивикористовуйте запити, що готуються, коли відправляєте або отримуєте дані з бази даних з PDO.

Для використання висловів, що готуються, потрібно створити нову змінну, яка викличе метод prepare()об'єкт бази даних.

У правильному вигляді код виглядає:

$servername = "mysql.hostinger.com"; $database = "u266072517_name"; $username = "u266072517_user"; $password = "buystuffpwd"; $sql = "mysql:host=$servername;dbname=$database;"; $dsn_Options = ; // Create a new connection to the MySQL database using PDO, $my_Db_Connection is an object try ( $my_Db_Connection = новий PDO($sql, $username, $password, $dsn_Options); echo "Connected successfully"; ) catch (PDOException $ error) ( echo "Connection error: " . $error->getMessage(); ) // Налаштувати параметри для людини, щоб отримати до вашого значення $first_Name = "Thom"; $last_Name = "Vial"; $email = " [email protected]"; // Тут ми створили варіант, що заголовок () метод з Database об'єкт // SQL SQL, який ви збираєтеся враховувати як параметр, і placeholders є як цей:placeholder_name $my_Insert_Statement = $my_Db_Connection-> prepare("INSERT INTO Students (name, lastname, email) VALUES (:first_name, :last_name, :email)"); // Now we tell the script which variable each placeholder actually refers to using the bindParam() method // First Parameter is placeholder in the statement above - Second Parameter is a variable that it should refer to $my_Insert_Statement->bindParam(:first_name, $first_Name); bindParam(:email, $email); // Execute the query using the data we just defined // The execute() method returns TRUE if it is successful and FALSE if it is not, allowing you to write your messages here if ( $my_Insert_Statement->execute()) ( echo "New record created successfully"; ) el se (echo "Unable to create record"; ) // При цьому пункті ви можете змінити значення параметрів і execute до будь-якого часу до database $first_Name = "John"; $last_Name = "Smith"; $email = " [email protected]$my_Insert_Statement->execute(); // Execute again now that the variables have changed if ($my_Insert_Statement->execute()) ( echo "New record created successfully"; ) else ( echo "Unable to create record"; )

У рядках 28, 29 та 30 ми використовуємо метод bindParam()об'єкт бази даних. Є так само метод bindValue(), відрізняється від попереднього.

  • bindParam() –цей метод підраховує дані, коли метод execute()досягнуто. Перший раз, коли скрипт доходить до методу execute()він бачить, що $first_Nameпосилається на “Thom”, пов'язує це значення та виконує запит. Коли скрипт добирається вдруге до методу execute(), він дивиться, що $first_Nameтепер посилається на "John", пов'язує це значення і запускає запит знову з новим значенням. Важливо розуміти, що ми створюємо запит один раз і підставляємо різні дані в різних місцях скрипта.
  • bindValue() –цей метод обчислює дані, щойно до нього доходить черга. Оскільки значення $first_Nameбуло поставлено як “Thom”, на момент, коли ми досягли методу bindValue(), воно буде використано при виклику методу execute()для $my_Insert_Statement.

Зверніть увагу, що ми повторно використовуємо змінну $first_Nameі задаємо їй нове значення вдруге. Якщо ви перевірите свою базу даних після запуску цього скрипта, там будуть обидва із заданих імені, всупереч цьому значення змінної $first_Nameбуде одно "John" наприкінці цього скрипта. Пам'ятайте, що PHP оцінює вміст скрипта перед його запуском.

Якщо ви зміните свій скрипт замінивши bindParamна bindValue, ви додасте до бази MySQL “Thom Vial” двічі до бази даних і John Smith буде проігноровано.

Крок 3 - Перевірка успішності виконання та вирішення спільних питань

Якщо запит, який ми запустили в базі даних MySQL, успішно, ми побачимо таке повідомлення:

Вирішення поширених помилок

MySQLi

В іншому випадку замість повідомлення, наведеного вище, буде показано повідомлення про помилку. Наприклад, давайте припустимо одну синтаксичну помилку в нашому коді і ми отримаємо таке:

Як бачимо, перша частина коду гаразд, підключення було успішно встановлено, але запит SQL під час зіткнувся з невдачею.

"Error: INSERT INTO Students (name, lastname, email) VALUES ("Thom", "Vial", " [email protected]") Ви маєте віру в вашу SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to using near "(name, lastname, email) VALUES ("Thom", "Vial", " [email protected]")" at line 1"

Допущено синтаксичну помилку, яка призводить до невдачі у виконанні нашого скрипта. Помилка була тут:

$sql = "INSERT INTO Students (name, lastname, email) VALUES ("Thom", "Vial", " [email protected]")";

Як ви бачите, ми використовуємо фігурні дужки замість круглих. Це не так і призводить до синтаксичної помилки в нашому скрипті.

PDO

У рядку 7 підключення PDO режим обробки помилок встановлено в 'display all exceptions' (відображати всі винятки). Якщо ви приберете це зі скрипту і запит зазнає невдачі, ви не отримаєте жодного повідомлення про помилку. З увімкненими винятками, будуть відображатися конкретні проблеми. В основному, це краще використовувати, коли розробляєте скрипт, так як це може виявити імена баз даних та таблиць, які ви б хотіли сховати від будь-кого, хто може отримати несанкціонований доступ до ваших даних. У випадку вище, коли фігурні дужки використовувалися замість круглих, помилка виглядає як показано нижче:

Недостатній error: Вирішення виключення "PDOException" with message "SQLSTATE: Syntax error or access violation: 1064 Ви маєте віру в вашу SQL syntax; check the manual that corresponds to your mySQL server version for right syntax to used near "(name, lastname, email) VALUES ("Thom", "Vial", " [email protected]")" at line 1"

Інші проблеми, з якими ви можете зіткнутися:

  • Невірно вказані поля (неіснуючі поля чи помилки написання назв).
  • Невідповідність типу значення типу поля. Наприклад, коли ми хочемо присвоїти значення числа 47 полю Name, ми отримаємо помилку, тому що передбачається, що значення буде рядком. Але, якщо ви вкажете число в лапках, наприклад, “47” , помилки не буде, тому що наше число буде записано як рядок у цьому полі.
  • Спроба ввести дані в таблицю, якої немає або помилка в написанні назви таблиці.

Всі ці помилки можуть бути виправлені за керівництвом з виправлення помилок або перевіряючи журнал помилок (англ.).

Після успішного додавання даних ми повинні побачити їх у нашій базі даних. Ось приклад таблиці, в яку ми додали наші дані, якщо дивитися в phpMyAdmin.

Висновок

У цьому посібнику ви вивчили, як використовувати PHP код для додавання запису до таблиці MySQLз використанням MySQLiі PDO. Також розглянули випадки поширених помилок та їх вирішення. Знання того, як використовувати PHP код, щоб додати в базу даних MySQL стане в нагоді незалежно від того, ви вчитеся програмувати або вже створюєте свій сайт.

І наведено
. А зараз ми поговоримо, як додавати зображення до бази MySQL через форму, використовуючи PHP.

Створення поля в базі MySQL для додавання зображення

Для початку хочу сказати, що для зберігання зображень у базі даних MySQLнеобхідно визначити одне з полів таблиці як похідне типу BLOB.

Скорочення BLOB означає великий бінарний об'єкт. Тип зберігання даних BLOB має кілька варіантів:

  • TINYBLOB - Може зберігати до 255 байт
  • BLOB може зберігати до 64 кілобайт інформації
  • MEDIUMBLOB – до 16 мегабайт
  • LONGBLOB до 4 гігабайт

Для зберігання файлу зображення у базі данихнеобхідно прочитати файл у змінну та створити запит на додавання даних до таблиці.

Підготовка форми на сторінці для додавання зображення до бази даних MySQL

У моєму випадку завдання було додавати два зображення до бази через форму, використовуючи PHP. У нас є форма з двома полями та кнопкою відправити:

form name="form1" method="post" action="add_image.php"
enctype="multipart/form-data"

Нагадаю, що атрибут actionвказує файл, який виконуватиме завантаження файлів зображення. Атрибут enctypeвказує на спосіб кодування вмісту форми та інформацію про навантаження файлів. Подивіться, як правильно заповнювати атрибут enctypeщоб уникнути .

Примітка:Підтримка завантаження кількох файлів була введена у версії 3.0.10.

Написання PHP-коду для збереження зображення в базі даних MySQL

Оскільки ми надсилаємо два файли в атрибуті nameпісля слова вказуємо «userfile» із квадратними дужками, цим ми даємо зрозуміти, що відправляємо кілька файлів за допомогою масиву, в якому знаходяться атрибути файлів:

$_FILES[‘userfile’][‘name’]

Оригінальна назва файлу на клієнтській машині.

$_FILES[‘userfile’][‘type’]

mime-тип файлу, якщо браузер надав цю інформацію.
Приклад: "image/gif".

$_FILES[‘userfile’][‘size’]

$_FILES[‘userfile’][‘tmp_name’]

Тимчасове ім'я файлу, під яким завантажений файл було збережено на сервері.

Як отримати значення кожного файлу?

Наприклад, припустимо, що відправлені файли з іменами /home/test/1.jpg та /home/test/2.jpg.

У цьому випадку $_FILES[‘userfile’][‘name’]
міститиме значення 1.jpg,
а $_FILES[‘userfile’][‘name’]
- Значення 2.jpg

Аналогічно, $_FILES['userfile']['size'] міститиме значення розміру файлу 1.jpg, і так далі. Тепер розглянемо код файлу add_image.php, який було вказано в атрибуті форми action.

1024*1024||$image_size==0) ( $ErrorDescription="Кожне зображення не повинно підвищувати 1Мб! Зображення в базу не може бути додано."; return ""; ) // Якщо файл прийшов, то перевіряємо графічний // чи він (з міркувань безпеки) if(substr($_FILES["userfile"]["type"][$num], 0, 5)=="image") ( //Читаємо вміст файлу $image=file_get_contents($_FILES ["userfile"]["tmp_name"][$num]);// Екрануємо спеціальні символи у вмісті файлу $image=mysql_escape_string($image); return $image; )else( ErrorDescription="Ви завантажили не зображення, тому воно не може бути додано."; return ""; ) )else( $ErrorDescription="Ви не завантажили зображення, поле порожнє, тому файл в базу не може бути доданий."; return ; ) return $image; ) ?>

Отже, у цій статті ми говорили про те, як зберегти зображення у базі даних MySQL , використовуючи PHP.

Від автора:ех, з пісні слів не викинеш! Але їх можна видалити, оновити чи вставити інші. Головне, щоб слова було внесено до бази даних. Сьогодні ми розповімо, як відбувається запис даних у MySQL та як це зробити правильно, щоб пісня звучала!

Додавання записів за допомогою phpMyAdmin

В оболонці phpMyAdmin для адміністрування СУБД MySQL реалізовано «полегшений» функціонал додавання нових записів до таблиць бази даних. Через свою простоту він ідеально підходить як для зелених «чайників», так і для «ледачих» професіоналів.

Щоб занести нову інформацію до таблиці, слід зайти до програми під правами адміністратора. Потім у списках зліва вибрати потрібну базу та таблицю. Після цього у верхньому меню перейти через пункт «Вставити».

Після цього, щоб зробити запис в БД MySQL, заповнюємо в наступному вікні для всіх стовпців поля «Значення» і натискаємо внизу «Ок».

На наведеному вище скріншоті видно, що таблиця «Animals», що модифікується, складається з двох стовпців (полів): id і name. У другому розділі вказано тип кожного зі стовпців. Нам потрібно внести значення лише для поля name, оскільки стовпець id є первинним ключем, і для нього під час створення таблиці задано автоінкремент. Це означає, що значення поля id буде генеруватися MySQL автоматично, додаючи до попереднього цілого числового значення 1.

Щоб дізнатися, яке поле записів даних MySQL є первинним ключем (primary key), в phpMyAdmin перейдіть меню (при вибраній таблиці ліворуч у списку) на вкладку верхнього меню «Структура». Тут наводиться опис всіх полів таблиці, їх тип та додаткові характеристики.

Вставка даних за допомогою SQL-запитів

Але phpMyAdmin – це лише оболонка, а справжні адміністратори «спілкуються» з сервером MySQL за допомогою мови структурованих запитів. Тобто «розмовляють» із ним мовою SQL. Оскільки ми прагнемо стати справжніми професіоналами, то трохи «зануримося» вивчення команд SQL у межах аналізованої теми. Ось запит, ввівши який у полі «SQL», ви створите таку саму базу даних:

CREATE TABLE Animal (ID MEDIUMINT NOT NULL AUTO_INCREMENT, name CHAR(30) NOT NULL, PRIMARY KEY (id));

CREATE TABLE Animal (ID MEDIUMINT NOT NULL AUTO_INCREMENT ,

name CHAR (30) NOT NULL, PRIMARY KEY (id));

Після створення таблиці та запису даних в базу MySQL (через вкладку «Вставити») програма повідомить вам, що в animals додано рядок зі значенням ідентифікатора 1. А трохи нижче у вікні редактора буде виведений код запиту, який за нас сформувала оболонка і надіслала серверу БД .

Код запиту:

INSERT INTO `my_db1`.`animal` (`id`, `name`) VALUES (NULL, "Cat");

INSERT INTO `my_db1`. `animal` (`id`, `name`) VALUES (NULL, "Cat");

Давайте докладніше вивчимо його. У SQL для вставки нового рядка таблицю використовується оператор INSERT. Він повідомляє серверу, що таблицю бази даних (my_db1 . animal) потрібно в поля id і name вставити зазначені значення (VALUES (NULL, ‘Cat’)).

Зверніть увагу, що стовпцю id ми вказуємо не числове значення, а NULL, оскільки для цього поля ми включили автозаповнення (автоінкремент).

Як вставити запис за допомогою PHP

Все розглянуте нами є лише «прелюдія» до основного дійства, в якому виходить на сцену «його високість» серверна мова програмування PHP. Саме завдяки йому MySQL як СУБД набула такого поширення в Мережі.
На зв'язці цих двох інтернет-технологій побудовано більшу частину всесвітнього павутиння. Куди не гляньте, скрізь ви знайдете їх: у сучасних CMS, «самописних» двигунах та на сервері.

Не дивно, що для запису даних MySQL PHP надає стільки вбудованих функцій. Але ми зупинимося на найголовніших із них. Ось код, який додає нове "тварини" в таблицю animals. Якщо постаратися, то таким чином можна зібрати цілий звіринець:)

$con_str=mysql_connect("localhost", "root", "", "db1"); if(mysql_connect("localhost","root"))( echo "Hello!!"; ) mysql_select_db("db1",$con_str); $query_str="INSERT INTO `db1`.`animal` (`id`, `name`) VALUES (NULL, "dog")"; mysql_query($query_str); mysql_close();

$ con_str = mysql_connect ("localhost", "root", "", "db1");

if (mysql_connect ("localhost", "root")) (

echo "Hello!!" ;

mysql_select_db ("db1", $con_str);

$query_str = "INSERT INTO `db1`.`animal` (`id`, `name`) VALUES (NULL, "dog")";

mysql_query ($query_str);

mysql_close();

Цей код потрібно вставити у файл PHP та розмістити його на стороні сервера.

За допомогою функції mysql_connect() ми коннектимося до сервера баз даних MySQL. Як аргументи функція приймає хост, ім'я користувача СУБД, пароль та назву бази, до якої необхідно підключитися. У нас вказано порожній пароль, оскільки ми використовуємо сервер, встановлений на локальній (клієнтській) машині.

Для демонстрації всіх наведених прикладів запису в базу MySQL за допомогою PHP ми застосовували «джентельменський набір» від Денвера. До нього входить локальний сервер Apache, сервер MySQL, phpMyAdmin та ще кілька корисних засобів створення та тестування програмного коду.

Потім у логічному блоці if ми перевірили наявність з'єднання з сервером БД. Після чого функції mysql_select_db() ми позначили базу, до якої будемо коннектитися. За допомогою функції mysql_query() запустили виконання SQL-запит, записаний в змінну $query_str. І насамкінець закрили встановлене з'єднання (функція mysql_close()). Тепер, якщо ми заглянемо у свій звіринець (таблицю animal), то виявимо там нового «вихованця».

Для його запису в MySQL PHP "любовно" надав весь необхідний набір функцій. Головне, на чому обпалюються новачки при використанні SQL в програмному коді - це неправильне написання запитів, порушення синтаксису і чергування знаків для екранування (лапок).

Щоб уникнути появи на своїй голові зайвого «сивого» волосся, краще перевіряти правильність написання запиту за допомогою phpMyAdmin. Для цього розмістіть код SQL у редакторі програми та запустіть його на виконання. Якщо щось не так, то програма почне «лаятися», виведе повідомлення червоного кольору і вкаже розташування помилки.

Як бачите, за допомогою MySQL можна і свій звіринець зібрати, і правильно змінити слова будь-якої пісні. І для запису в базу MySQL PHP підходить ідеально, тому ми радимо вам завести «тісну» дружбу із цією «великою» мовою програмування!


Найбільш обговорюване
Як можна швидко завагітніти: поради Як можна швидко завагітніти: поради
Рання вагітність Ох вже ці дітки Рання вагітність Ох вже ці дітки
Як пояснити дитині, що таке добро і зло, якщо ти атеїст і не хочеш залучати релігію? Як пояснити дитині, що таке добро і зло, якщо ти атеїст і не хочеш залучати релігію?


top