Link in progress
Обо мне
БД MySQL и первые шаги

БД MySQL и первые шагиПродолжаем нашу рубрику, и сегодня у нас по маршруту:
— познакомимся с БД MySQL;
— ответы на вопросы из предыдущего занятия;
— задания и вопросы для самоусовершенствования.

На прошлом занятии мы создали свою HTML форму, протестировали ее и отправили письмо на E-mail при помощи PHP функции mail(). Все хорошо, наша форма работает. Но писем приходило много, и нам нужно как то их сохранять и не терять, сортировать и смотреть письма с полезной информацией. Нужно что-то менять.
Подумайте над решением этой проблемы. Как можно поменять?

Нужно знать:
— все переменные должны начинаться со знака «$»;
— переменная должна состоять хотя бы из одного символа, не считаю «$»;
— после «$» может быть или нижнее подчёркивание «_» или английская буква, а все следующие символы могут быть буквами, цифрами и символами подчеркивания;
— пробелы и спецсимвол, кроме «$» и «_», в именах переменных недопустимы.

Недавно уже была затронута тема о базах данных MySQL. И сегодня мы попробуем ее использовать для решение нашей задачи. Связь з базой данных (далее БД) будет держать PHP и данные, которые мы будем отправлять в БД, брать с формы index.php отправлять на form.php, который будет записывать данные в БД.

Подумайте!
Что нужно сделать в первую очередь, что бы сохранять данные в БД?

Для начала нам нужно создать базу данных. Это можно сделать: в панели управление хостингом, phpmyadmin, командной строкой. Мы будем создавать базу через панель управление хостингом.
Допустим у нас есть БД с именем my_dog. Давайте проверим, можем ли мы установить связь с нашей БД. Создаем новый файл connect.php с кодом:

1
2
3
4
5
6
<?php
/* Connect to DataBases */
    $abc = mysqli_connect('my.hosting.mysql', 'my_dog', '9vhfkgpo', 'bestadmin')
        or die ('Нет связи с БД');
mysqli_close($dbc) ;
?>

Разбираемся.
mysqli_connect() – читаем тут
mysqli_query() — читаем тут
mysqli_close() — читаем тут

Переходим на наш сайт и проверяем только что написанный нами connect.php в действии:
http://my.domain/connect.php
Если вы видите пустую страницу – значит соединение было установлено без ошибок, если «Нет связи с БД» — говорит само за себя.

Можно ли уже начинать отправлять данные в БД? Нет. Мы создали БД, но в ней нет не единой таблицы. Будем это исправлять. Команда для создания в БД таблиц средствами PHP имеет вид:

1
$quеry = "CREATE TABLE MyEmail (firstname VARCHAR(30), lastname VARCHAR(30), email VARCHAR(30), wher VARCHAR(100), alone VARCHAR(20), other VARCHAR(100))";

Давайте разберемся. Мы создаем переменную с название $quеry, поставили знак присвоение «=» открыли двойные кавычки и вписали sql команду, в котором создается таблица MyEmail, колонки firstname, lastname и т.д.. Для всех колонок обязательно нужно указать ее тип (какие данные в ней будут сохраняться). Например, VARCHAR(30) – количество символов динамической длины (у нас длина указана максимум 30). Таблица с колонками уже создались? Нет, мы только создали переменную с командой. Давайте этот запрос отправим на наш MySQL сервер:

1
$result = mysqli_query($abc, $quеry);

И закроем соединение с БД:

1
mysqli_close($abc);

Как все это должно быть в файле connect.php:

1
2
3
4
5
6
7
8
9
10
<?php
    $abc = mysqli_connect('my.hosting.mysql', 'my_dog', '9vhfkgpo', 'bestadmin')
        or die ('Нет связи с БД');
       
$quеry = "CREATE TABLE MyEmail (firstname VARCHAR(30), lastname VARCHAR(30), email VARCHAR(30), wher VARCHAR(100), alone VARCHAR(20), other VARCHAR(100))";

$result = mysqli_query($abc, $quеry);

mysqli_close($abc);
?>

Итог:
Мы научились проверять соединение с БД MySQL (а точнее MySQLi). Создали собственную базу данных, написали программу, которая создает таблицу в нашей БД. В следующей статье будем разбираться с отправкой данных в БД взятых из формы.

На заметку:
/n – переносит строку на следующий рядок (работает только в двойных кавычках“ /n ”).
“ “ – двойные кавычки;
‘ ‘ – одинарные кавычки;
Строка, ограниченная одинарными кавычками, рассматривается РНР как “сырой!” текст, в то время как в строках, ограниченных двойными кавычкам, и переменные рассматриваются особенным образом. Когда РНР встречает переменную в строке, ограниченной двойными кавычками, он заменяет имя этой переменной на ее значение. Поэтому использование двойных кавычек не только заставляет работать символ перевода строки, но и упрощает код, позволяя вставлять имена переменных непосредственно в строки текста.

Ответы на вопросы из прошлого занятия:

1. Могу ли PHP переменные содержать другие типы данных?
Да. Вы можете использовать переменные, содержащие булевы (true/false) данные. А числовые данные могут быть как целыми числами, так и числами с плавающей запятой (десятичные дроби). Существуют также массивы, содержащие множество данных с кодом, позволяющим манипулировать ими. Массивы рассмотрим немного дальше. Имеются также специальный тип данных NULL, который представляет собой полное отсутствие какого-либо значения. Например, переменная, которой не было присвоено никакого значения, рассматривается как переменная со значением NULL.

2. Допускается использование PHP и HTML кода в одном и том же файле?
Конечно, в 99% это не только можно, это необходимо.

Вопросы:
1. В БД можно хранить например файлы картинок или видео?
2. Почему нужно создавать переменные с командой для MySQL?

БД MySQL и первые шаги: 5 комментариев

  1. В такой очередности у меня не получилось создать таблицу в БД
    $abc = mysqli_connect(‘my.hosting.mysql’, ‘my_dog’, ‘9vhfkgpo’, ‘bestadmin’)

    а так получилось
    $abc = mysqli_connect(‘my.hosting.mysql’, ‘bestadmin’, », ‘my_dog’)

    1. Смотрите:
      1. Вы создаем переменную $abc мы записываем команду.
      2. mysqli_connect — это команда подключения к базе данных.
      3. Давайте ее разберем (хотя в статье есть ссылки на эти команды):

      $abc = mysqli_connect(‘тут нужно указать имя хостинга базы данных’, ‘логин’, ‘пароль’, ‘имя базы данных’) or die (‘если не получилось подключится к БД, выдать это сообщение’);

      Указывать имя БД в подключении не обязательно, можно после выбрать базу куда записывать данные командой USE имя бд;

      Одинарные и двойные кавычки — их различие тоже есть в этом уроке.

  2. извеняюсь, сам с одинарными ковычками промахнулся
    вот так работает
    $abc = mysqli_connect(‘my.hosting.mysql’, ‘bestadmin’, », ‘my_dog’)

    1. глючат комменты. Перед my_dog у меня стоят одинарные кавычки для пароля

      1. ‘одинарные’ — работает.
        «двойные» — работает.

        Возможно вы указали двое подряд одинарные и система понимает их как двойные.
        По вашим словам у вас так:
        $abc = mysqli_connect(‘my.hosting.mysql’, ‘bestadmin’, ‘ ‘, ‘my_dog’)

        Так может быть в том случае, если у вас отсутствует пароль к базе данных, что не есть хорошо.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Max quality, min price, min time expenditure
Send me a message to: work@glogla.net
Portfolio