Описание PHP и MySQL


Содержание

Описание PHP и MySQL

Рассмотрим основные функции PHP, применяемые для работы с MySQL сервером.

Функции соединения с сервером MySQL

Основной функцией для соединения с сервером MySQL является mysql_connect(), которая подключает скрипт к серверу баз данных MySQL и выполяет авторизацию пользователя базой данных. Синтаксис у данной функции такой:

mysql_connect ([string $hostname] [, string $user] [, sting $password]);

Как вы наверно заметили, все параметры данной функции являются необязательными, поскольку значения по умолчанию можно прописать в конфигурационном файле php.ini. Если вы хотите указать другие имя MySQL-хоста, пользователя и пароль, вы всегда можете это сделать. Параметр $hostname может быть указан в виде: хост:порт.

Функция возвращает идентификатор (типа int) соединения, вся дальнейщая работа осуществляется только через этот идентификатор. При следующем вызове функции mysql_connect() с теми же параметрами новое соединение не будет открыто, а функция возвратит идентификатор существующего соединения.

Для закрытия соединения предназначена функция mysql_close(int $connection_id).

Вообще, соединение можно и не закрывать — оно будет закрыто автоматически при завершении работы PHP скрипта. Если вы используете более одного соединения, при вызове mysql_close() нужно указать идентификатор соединения, которое вы хотите закрыть. Вообще не закрывать соединения — плохой стиль, лучше закрывать соединения с MySQL самостоятельно, а не надеясь на автоматизм PHP, хотя это ваше право.

Если вы будете использовать только одно соединение с базой данных MySQL за все время работы сценария, можно не сохранять его идентификатор и не указывать идентификатор при вызове остальных функций.

Функция mysql_connect() устанавливает обыкновенное соединение с MySQL. Однако, PHP поддерживает постоянные соединения — для этого используйте функцию mysql_pconnect(). Аргументы этой функции такие же, как и у mysql_connect().

В чем разница между постоянным соединением и обыкновенным соединением с MySQL? Постоянное соединение не закрывается после завершения работы скрипта, даже если скрипт вызвал функцию mysql_close(). Соединение привязывается к PID потомка веб сервера Apache (от имени которого он и работает) и закрывается лишь тогда, когда удаляется процесс-владелец (например, при завершении работы или перезагрузке веб-сервера Apache).

PHP работает с постоянными соединениями примерно так: при вызове функции mysql_pconnect() PHP проверяет, было ли ранее установлено соединение. Если да, то возвращается его идентификатор, а если нет, то открывается новое соединение и возвращается идентификатор.

Постоянные соединения позволяют значительно снизить нагрузку на сервер, а также повысить скорость работы PHP скриптов, использующих базы данных.

При работе с постоянными соединениями нужно следить, чтобы максимальное число клиентов Apache не преывшало максимального числа клиентов MySQL, то есть параметр MaxClient (в конфигурационном файле Apache — httpd.conf) должен быть меньше или равен параметру max_user_connection (параметр MySQL).

Функция выбора базы данных

Функция mysql_select_db (string $db [, int $id]) выбирает базу данных, с которой будет работать PHP скрипт. Если открыто не более одного соединения, можно не указывать параметр $id.

// Попытка установить соединение с MySQL:
if (!mysql_connect($server, $user, $ password)) <
echo «Ошибка подключения к серверу MySQL»;
exit;
>
// Соединились, теперь выбираем базу данных:
mysql_select_db($db);

Функции обработки ошибок

Если произойдет ошибка соединения с MySQL, то вы получите соответствующее сообщение и скрипт завершит свою работу. Это не всегда бывает удобно, прежде всего, при отладке скриптов. Поэтому, в PHP есть следующие две функции:

Первая функция возвращает номер ошибки, а вторая — сообщение об ошибке. В результате мы можем использовать следующее:

echo «ERROR «.mysql_errno().» «.mysql_error().»\n»;

Теперь вы будете знать, из-за чего произошла ошибка — вы увидите соответствующим образом оформленное сообщение.

Функции выполнения запросов к серверу баз данных

Все запросы к текущей базе данных отправляются функцией mysql_query(). Этой функции нужно передать один параметр — текст запроса. Текст запроса модет содержать пробельные символы и символы новой строки (\n). Текст должен быть составлен по правилам синтаксиса SQL. Пример запроса:

$q = mysql_query(«SELECT * FROM mytable»);

Приведенный запрос должен вернуть содержимое таблицы mytable. Результат запроса присваивается переменной $q. Результат — это набор данных, который после выполнения запроса нужно обработать определенным образом.

Функции обработки результатов запроса

Если запрос, выполненный с помощью функции mysql_query() успешно выполнился, то в результате клиент получит набор записей, который может быть обработан следующими функциями PHP:

Также можно определить количество содержащихся записей и полей в результате запроса. Функция mysql_num_rows() позволяет узнать, сколько записей содержит результат запроса:

$q = mysql_query(«SELECT * FROM mytable»);
echo «В таблице mytable «.mysql_num_rows($q).» записей»;

Запись состоит из полей (колонок). С помощью функции mysql_num_fields() можно узнать, сколько полей содержит каждая запись результата:

$q = mysql_query(«SELECT * FROM mytable»);
echo «В таблице mytable «.mysql_num_fields($q).» полей «;

У нас также есть возможность узнать значение каждого поля. Это можно сделать с помощью следующей функции:

Параметр функции $row задает номер записи, а параметр $field — имя или порядковый номер поля.

Предположим, SQL-запрос вернул следующий набор данных:

Email Name Last_Name
————————————
ivanov@mail.ru Ivan Ivanov
petrov@mail.ru Petr Petrov

Вывести это в браузер можно следующим образом:

$rows = mysql_num_rows($q);
$fields = mysql_num_fields($q);

Следует отметить, что функция mysql_result() универсальна: зная количество записей и количество полей, можно «обойти» весь результат, но в тоже время, скорость работы данной функции достаточно низка. Поэтому, для обработки больших наборов записей рекомендуется использовать функции mysql_fecth_row(), mysql_fecth_array(), и.т.д.

Функция mysql_fecth_row(int $res) получает сразу всю строку, соответствующую текущей записи результата $res. Каждый следующий вызов функции перемещает указатель запроса на следующую позицию (как при работе с файлами) и получает следующую запись. Если более нет записей, то функция возвращает FALSE. Пример использования данной функции:

$q = mysql_query(«SELECT * FROM mytable WHERE month=\»$db_m\» AND day=\»$db_d\»);
for ($c=0; $c

Использовать функцию mysql_fecth_row() не всегда удобно, так как значения всех полей одной записи находятся все в одной строке. Удобнее использовать функцию mysql_fetch_array(), которая возвращает ассоциативный массив, ключами которого будут имена полей.

Функция mysql_fecth_array(int $res [, int $result_type]) возвращает не ассоциативный массив, а массив, заданный необязательным параметром $result_type, который может принимать следующие значения:

  • MYSQL_ASSOC — возвращает ассоциативный массив;
  • MYSQL_NUM -возвращает массив с числовыми индексами, как в функции mysql_fecth_row();
  • MYSQL_BOTH — возвращает массив с двойными индексами, то есть вы можете работать с ним, как с ассоциативным массивом и как со списком (MYSQL_BOTH — это значение по умолчанию для параметра $result_type.

В PHP есть функция, возвращающая ассоциативный массив с одним индексом:

mysql_fetch_assoc(int $res);

Фактически, данная функция является синонимом для mysql_fetch_array($res, MYSQL_ASSOC);

Пример использования функции mysql_fecth_array():

$q = mysql_query(«SELECT * FROM mytable WHERE month=\»$db_m\» AND day=\»$db_d\»);
for ($c=0; $c

Как видно, использовать функцию mysql_fetch_array() намного удобнее, чем mysql_fetch_row().

Функции получения информации о результатах SQL-запросов

PHP предоставляет еще несколько полезных функций, которые позволяют узнать информацию о результах SQL-запросов.

  • Функция mysql_field_name(int $result, int $offset) возвращает имя поля, находящегося в результате $result с номером $offset (нумерация начинается с 0). Другими словами, функция возвращает имя поля с номером $offset.
  • Функция mysql_field_type(int $result, int $offset) возвращает тип поля с номером $offset в результате $result (номер задается относительно результата, а не таблицы);
  • Функция mysql_field_flags(int $result, int $offset) возвращает пречисленные через пробел флаги (модификаторы), которые имеются у поля с номером $offset. Перечислим все поддерживаемые MySQL флаги:

Взаимодействие PHP и MySQL

После установки и настройки базы данных MySQL можно приступать к написанию сценариев PHP для взаимодействия с базой данных. В настоящей статье приведено описание всех основных функций, позволяющих передавать данные в прямом и обратном направлениях от веб-сайта к базе данных.

Продолжение урока будет доступно вам
после покупки курса MySQL с нуля

Об авторе

Если вам интересно узнать
как я стал программистом,
читайте вот эту статью.

Взаимодействие PHP с MySQL

Программа на PHP может взаимодействовать с MySQL. Скрипты записывают данные в БД и получают их из БД. Таким образом информация сайта сохраняется в базе данных и в нужный момент берётся и используется на страницах сайта. Для этого программе нужно сделать несколько действий, которые рассмотрены в этой теме.

Современный API

Для начала объясню, что такое API. Чтобы не углубляться в сложную терминологию, объясню простыми словами. Не вполне точно, зато понятно. API — это набор функций языка для работы с каким-то внешним ресурсом. В нашем случае это функции для взаимодействия с MySQL. Про API важно сказать, потому что он обновился и это нужно учитывать.

Раньше использовались функции, в названии которых содержалось слово mysql. Но они давно устарели. В новых версиях PHP они не будут поддерживаться. В некоторых учебниках Вы можете увидеть эти функции, но использовать их не рекомендуется. Сейчас нужно использовать функции со словом mysqli. Они ончень схожи со старым API, но есть различия. Если Вы только начали изучать MySQL, то старые функции Вам вряд ли понадобятся, привыкайте к современным стандартам.

Соединение с базой данных

Чтобы начать работать с базой данных, нужно установить с ней соединение. Для этого используется функция mysqli_connect() , которая осуществляет соединение с MySQL и возвращает объект соединения.

mysqli_connect (сервер, пользователь, пароль, база данных)

сервер — адрес сервера

пользователь — пользователь базы данных

пароль — пароль пользователя

база данных — база данных, к которой происходит подключение

На локальном сервере адрес сервера обычно указывается: localhost. Пользователь и пароль те же, что при подключении через phpMyAdmin. На хостинге эти данные Вы получите от администрации.

Созданный объект записывается в переменную и через обращение к ней происходит дальнейшая работа с БД. В прошлой теме мы создали базу данных, с названием mybase. Создадим скрипт, который подключается к этой бае данных:

Чтобы этот скрипт работал, нужно запустить OpenServer. Если соединение с БД выполнено, то будет пустая страница, а если какой-то параметр указан неверно, то будет сообщение об ошибке. Когда скрипт соединился с MySQL, можно работать с базой данных.

Отправка запроса

Чтобы добавить данные в БД, получить их или сделать что-то другое, нужно отправить запрос к базе данных. Запрос пишется на языке SQL. Прочитав данный учебник, вы научитесь писать запросы, а в этой теме мы рассмотрим, как их отправльть в PHP скрипте.

Запрос отправляется при помощи функции mysqli_query() . Получив этот запрос, MySQL выполняет дейсвия, указанные в запросе.

mysqli_query (база данных, запрос, режим использования результата)

база данных — база данных, к которой произведено подключение

запрос — запрос на выполнение каких-то действий

режим использования результата — необязательный параметр. Позволяет запретить отправку нового запроса, пока не очищен результат. Если не указать, то запросы можно отправлять.

Добавим в скрипт отправку запроса. Пока запрос Вам непонятен, поэтому можно просто его скопировать.


Если запрос не выполнен, то функция возвращает false . Если он выполнен успешно, то возвращает true . Если в ответ на запрос MySQL отправляет данные, то функция возвращает результат, содержащий эти данные.

Существуют и другие функции, отправляющие запросы, но эта используется чаще всего, потому, что она самая удобная.

Получение результата

Когда отправляется запрос на получение данных из БД, функция mysqli_query() возвращает результат. Он записывается в переменную. В нашем примере эта переменная называется $result . Для работы с результатом в PHP есть много фунций. После изучения отправки запросов, мы рассмотрим эти функции.

Закрытие соединения

После того, как скрипт отправил все запросы, нужно закрыть соединение. На самом деле оно закрывается автоматически при закрытии скрипта, но есть ситуации, при которых это не происходит. Поэтому лучше закрывать соединение в программе. Это делается с помощью функции mysqli_close() . Закроем соединение с базой данных:

Коприрование материалов сайта возможно только с согласия администрации

Работа с базами данных SQL в PHP для новичков

Учебник PHP

Практика

Важное

Регулярки

Работа с htaccess

Файлы, папки

Сессии и куки

Работа с БД

Практика по работе с БД в PHP

Перед чтением см. новые уроки раздела «Важное», которые появились выше.

Практика

Движок PHP

Продвинутые БД

Аутентификация

Практика

ООП и MVC

Абстрактные классы и интерфейсы

Трейты

ООП Магия

Практика

Практика: классы как набор методов

  • Урок №
    новая вкладка с new.code.mu
    . текст, код Практика: класс ArrayConvertor
  • Урок №
    новая вкладка с new.code.mu
    . текст, код Практика: класс TagHelper
  • Урок №
    новая вкладка с new.code.mu
    . текст, код Практика: класс FormHelper
  • Урок №
    новая вкладка с new.code.mu
    . текст, код Практика: класс TableHelper
  • Урок №
    новая вкладка с new.code.mu
    . текст, код Практика: класс SessionShell
  • Урок №
    новая вкладка с new.code.mu
    . текст, код Практика: класс CookieShell
  • Урок №
    новая вкладка с new.code.mu
    . текст, код Практика: класс FileManipulator
  • Урок №
    новая вкладка с new.code.mu
    . текст, код Практика: класс databaseShell TODO cart корзина flash шаблонизатор роутер контроллер кеш логи фалидатор

Что такое база данных

База данных (сокращенно БД) — это место, в котором хранятся данные сайта.

Это могут быть тексты страниц, списки пользователей с их логинами и паролями, каталоги продукции и другое.

База данных состоит из таблиц. Что такое таблица вы знаете из жизни: это строки и столбцы. А на пересечении строк и столбцов располагаются ячейки.

В базах данных столбцы часто называют полями.

Это легко можно вообразить себе, представив документ Excel. Базой данных будет являться сам документ (книга), а таблицами — каждый лист этой книги.

PhpMyAdmin

Для редактирования баз данных часто пользуются программой PhpMyAdmin.

PhpMyAdmin (читается PHPмайадмин, часто пишут аббревиатуру PMA или ПМА) — это оболочка для работы с базами данных прямо у вас в браузере.

Вы можете править содержимое таблиц, создавать новые базы данных и таблицы — и все это через веб-интерфейс, не зная SQL.

Видео на PhpMyAdmin

Задачи на PhpMyAdmin

Давайте откроем PhpMyAdmin и приступим к изучению его интерфейса.

Чтобы вам было проще с ним освоится, сделайте следующие практические задачи:

  1. Создайте базу данных test.
  2. В ней создайте таблицу users.
  3. В этой таблице сделайте 4 поля (столбца):
    • id (для него нужно поставить галочку AUTO_INCREMENT или A.I.), тип integer,
    • name, тип varchar, 32 символа,
    • age, тип integer,
    • birthday (англ. день рождения), тип date.
  4. Найдите вкладку ‘вставить’ и с ее помощью вставьте несколько строк в эту таблицу При этом поле id заполнять не нужно! Оно заполнится автоматически!
  5. Поредактируйте какую-нибудь запись.
  6. Удалите какую-нибудь запись.
  7. Поменяйте кодировку для таблицы и для всей базы данных (на utf8_general_ci).
  8. Переименуйте таблицу.
  9. Переименуйте базу данных.

AUTO_INCREMENT

Обратите внимание на то, что мы создали поле id и поставили ему галочку AUTO_INCREMENT. Это очень важный шаг!

Теперь при вставке новой записи (строки) в таблицу это поле будет заполняться автоматически уникальным номером.

При этом если мы удалим строку с каким-то id (например 1), то такого id больше никогда не будет.

Зачем нужно поле id?

Затем, чтобы мы всегда могли обратиться к конкретной строке по ее id, например с целью удаления или редактирования.

Типы переменных

В SQL довольно много типов переменных, но чаще всего приходится пользоваться следующими:

  • integer – целочисленный.
  • text – большое текстовое поле.
  • varchar – не очень большое текстовое поле, при этом мы должны задать его размер (он должен быть степенью двойки: 8, 16, 32, 64, 128, 256 и т.д.).
  • date — поле для хранения даты (дата хранится в SQL-формате: год-месяц-день, пример: 2013-06-24).

Как работать с mySQL через PHP

Работа с БД из PHP осуществляется всего лишь с помощью трех функций:

  • mysqli_connect – соединение с сервером и базой данных.
  • mysqli_query — универсальная функция отправки запросов к БД, с помощью нее можно сделать все.
  • mysqli_error — вывод ошибок.

Далее подробнее про каждую из функций.

Устанавливаем соединение с БД

Данный материал есть также в виде видео: https://youtu.be/J8GFuyA_k_8

Прежде, чем начать работать с базой данных из PHP, нужно установить соединение с сервером, на котором эта база находится.

Делается это с помощью функции PHP mysql_connect, которая принимает 3 параметра: имя хоста (сервера), имя пользователя, под которым мы работаем с базой и пароль для этого пользователя.

Если вы работаете на своем компьютере то это будут ‘localhost’, ‘root’ и пароль в виде пустой строки (на некоторых серверах он тоже может быть root). Если ваша база данных в интернете — то эти данные дает вам хостер.

Давайте установим соединение с базой данных:

Посылаем запросы к базе данных

Запросы к базе данных представляют собой обычные строки, которые мы вставляем в функцию PHP mysqli_query (первым параметром это функция принимает переменную, в которую мы записали результат mysqli_connect, в нашем случае это переменная $link):

Принято правило, по которому команды SQL следует писать в верхнем регистре (то есть большими буквами), а все остальное — в нижнем.

Это относиться к командам SELECT, UPDATE, FROM, DELETE, WHERE и другим такого рода.

Конечно, синтаксической ошибки не будет, если вы напишите их маленькими буквами, но принято большими.

Отлавливаем ошибки базы данных

Многие начинающие зачастую не умеют отлавливать ошибки, которые вернула база данных.


Поэтому при работе с БД у них постоянно возникают сложности. Что-то не работает, а что — не понятно, так как ошибок они не видят, так как PHP не выводит ошибки mySQL, если ему об этом не сказать

Чтобы вывести ошибки, следует пользоваться конструкцией or die ( mysqli_error($link) ), которую необходимо добавлять к каждому запросу к БД.

Смотрите пример: mysqli_query($link, $query) or die( mysqli_error($link) );

Таким образом вы сразу будете получать сообщения об ошибках синтаксиса SQL. Обратите внимание на то, что на рабочем сайте эти конструкции следует удалять, чтобы пользователи и тем более хакеры не видели ошибок БД.

Проблемы с кодировками

Зачастую у новичков возникает проблема с кодировками — казалось бы нормальный русский текст в базу данных записывается абракадаброй или вопросиками.

Чтобы не было проблем с кодировками следует придерживаться простых правил:

  • Базу данных следует создавать в кодировке utf8_general_ci.
  • Документ PHP должен быть в кодировке utf8.
  • Таблицы в БД должны быть в utf8_general_ci.
  • На всякий случай сразу после команды mysqli_connect добавьте такое запрос: mysqli_query($link, «SET NAMES ‘utf8′»);

Начнем практиковаться

Сейчас мы с вами начнем изучить SQL запросы на практике. Для этого нам понадобится тестовая таблица в базе данных, заполненная некоторыми данными. Сейчас мы с вами ее сделаем и заполним.

Итак, создайте свою первую базу данных с помощью PhpMyAdmin.

Назовите ее «test».

Создайте в этой базе новую таблицу.

Назовите ее «workers» (англ. работники).

В ней создайте 4 столбца (столбцы по другому называются поля):

  • id – тип integer, не забудьте поставить ему галочку AUTO_INCREMENT (чтобы в этом столбце номера проставлялись автоматически).
  • name (англ. имя) – тип varchar, размером в 256 знаков.
  • age (англ. возраст) — тип integer.
  • salary (англ. зарплата) — тип integer.

Ее заполните тестовыми данными, как показано в таблице ниже (этот шаг обязателен, так как дальше все задачи будут по этой таблице):

id name age salary
1 Дима 23 400
2 Петя 25 500
3 Вася 23 500
4 Коля 30 1000
5 Иван 27 500
6 Кирилл 28 1000

Итак, у нас есть таблица с работниками фирмы, в которой указаны их имена, возрасты и зарплаты (в $). Далее мы будем работать с этой таблицей.

Тестируем работоспособность

Прежде чем начать работу, следует протестировать работоспособность — попробуем сделать какой-нибудь запрос к нашей базе.

Просто скопируйте этот код и запустите его у себя:

Если var_dump($result) вернет resource, то все работает, если же null – то возникли какие-то проблемы. в новых версиях PHP в $result будет лежать объект с данными (всегда будет непустой). Если обработать его через mysqli_fetch_assoc будет или результат или null (про mysqli_fetch_assoc см ниже или видео https://youtu.be/J8GFuyA_k_8 , которое уже было выше в пункте «Устанавливаем соединение»)

В таком случае проверьте все еще раз, уберите последовательно все ошибки PHP, если таковые есть.

Как достать результат

После того, как мы сделали запрос к базе, в переменной $result будет лежать результат этого действия.

Однако лежит он не в той форме, которая нам нужна в PHP, а в той форме, в которой его прислала нам база.

Достать результат в нормальном виде (в массиве) можно с помощью следующего кода:

Как работает последняя строка?

Функция mysqli_fetch_assoc считывает последовательно каждую строку результата, который прислала нам база.

В цикле for мы считываем построчно результат из базы.

Когда цикл дойдет до последней строки — mysqli_fetch_assoc вернет false и цикл for закончит свою работу.

А результат из БД будет лежать в нормальном виде в массиве $data.

PHP и MySQL программирование

Что такое PHP

PHP (Personal Home Page — Hypertext Preprocessor) – это серверный язык программирования, в полном смысле этого слова. Исполняется он только на стороне WEB сервера. То есть вы никогда не увидите web страницу с исполняемым PHP кодом. Исключение, конечно, составляет, когда сервер настроен не корректно. PHP имеет явно выраженный стиль написания кода, как на языке программирования «C++» и «javascript». Поэтому эти языки программирования содержат много общего.

История PHP начинается с человека по имени Расмус Лердорф (Rasmus Lerdorf), который в далеком 1994 году, создал простую программу, на тогда очень распространенном языке программирования Perl, которая представляла собой обычный скрипт по подсчету посещения его резюме. Этот скрипт получил очень большую популярность и уже в скором времени этот скрипт потребовал существенной доработки. Вот тогда и появилась первая версия PHP.

PHP 2.0 вышел уже в 1997 году. После этого на горизонте веселого стартапа появились два студента Andi Gutmans и Zeev Suraski, они начали детально изучать исходные коды (php sources) языка программирования PHP и сочли его непригодным для создания больших проектов. Тогда они создали современную версию PHP. Вот ему то и было дано полное название PHP 3.0. Тогда и появилось новое название PHP — Hypertext Preprocessor.

1998 году, с появлением новых задач, с которыми PHP 3.0 уже не справлялась, разработчики начали усердно работать над новым ядром PHP и вскоре появляется первая стабильная версия PHP 4.0, которая просуществовала, не так долго, как на нее рассчитывали. Но вот версия PHP 5.0, которая появилась в 2003 году, в корне изменила работу web мастеров. Версия PHP существует по сей день и справляется с довольно обширными потребностями программистов.

На сегодняшний день, июль 2010 года, в активной разработке находится версия PHP 6.0. К сожалению, дата выхода этой версии постоянно откладывается, уж слишком рьяно взялись за этот движок. Обещают глубокие изменения. Beta версию языка программирования PHP можно пощупать уже сейчас. Плановый выход планируется на осень 2010, но думаю, что выпуск версии также будет отложен

На май 2014 года до сих пор в обиходе PHP версия 5.x, (последняя v.5.6, самая популярная v.5.4). Релиз PHP 6.0 до сих пор не определен. Последнею версию можно скачать здесь.

Самый популярный Framework для работы с PHP:

Что такое MySQL

MySQL это полноценная базы данных. Работает она на чистом SQL (Structured Query Language) синтаксисе. Диктатором моды MySQL назвать нельзя, но существенный, можно даже сказать огромный вклад, в развитие SQL база данных MySQL делает.

  • MySQL — это еще и система управления базами данных. В принципе, SQL синтаксис, сложно назвать отдельным языком программирования из-за своей простоты. Вообще, что такое база данных?
  • База данных – это общая копилка (файл или несколько файлов), где храниться информация, упорядоченная специальным образом, которая позволяет быстро получать необходимую информацию или ответ путем обращения к этим данным через специальный набор команд.
  • SQL – это и есть специализированный набор команд.

Вам не нужно знать как устроена сама MySQL, вам нужно только знать синтаксис команд для получения необходимой информации.

Ну и как всегда немного истории. Родоначальником MySQL является Ульф Майкл Видениус (Michael Widenius). Речь идет об очень далеком, 1978 годе, когда Майкл создает систему управления базами данных – UNIREG. Позже компания, в которой работает Майкл, пытается разработать систему управления базами данных в основе web технологии UNIREG. Ему это удается, но так как UNIREG использовала значительные ресурсы в своей работе, требовалось соответственно много времени для генерации HTML страниц. Поэтому систему пришлось значительно дорабатывать. Так появилась на свет MySQL 1.0. Свободная версия MySQL, привычная для нашего глаза, появилась в 1996 году (версия 3.11).

На текущее время, май 2014 года, последней версией и самой распространенной в Интернет является MySQL 5.7. Можно скачать MySQL 5.7 здесь.

Раздел: PHP и MySQL программирование › Список статей

Инструкция по архивированию файлов средствами PHP с примерами и рекомендациями опытных программистов

Как правильно и грамотно научиться делать своими собственными руками скрипт (Captcha PHP)

Описание действий как проверяется и какие нюансы бывают при проверке HTML checkbox на языке PHP

PHP команда chmod — рабочий вариант смены прав у файлов на хостинге при помощи PHP через FTP

Каким образом лучше и грамотнее комментировать на PHP код — показательный пример того, что нужно использовать для комментирования строк

Вся подробная информация о константах в PHP, как, когда и при помощи каких функций можно их использовать

Каким образом и с помощью чего можно использовать в PHP куки — полная и полезная информация

Каким образом правильно можно скачать бинарный файл в PHP — наиподробная инструкция

Инструкция как правильно отправить email, почту или письмо, используя средства PHP

Как правильно отправить email, почту или письмо в PHP, используя различные кодировки

Как правильно отправить в PHP email, почту, письмо с прикрепленными файлами — с подробными комментариями

Короткая статья о том, как отправлять письма на PHP применяя SMTP авторизацию и программный код с подробными комментариями

Подробная инструкция, каким образом следует проверять email или почту на правильность

инструкция, каким образом грамотно и правильно нужно создавать обработчик ошибок в PHP

Как посредством PHP создавать таблицы Excel — все до мельчайших подробностей подобного процесса

Инструкция с примерами, кКак следует правильно прочитать из Excel информацию средствами PHP

Маленькая статьи и пример кода на PHP с подробными комментариями как работать со списком файлов

Все о программировании форм на PHP — защита, теоретические основы Download и реальные примеры

Описание PHP средств для защиты пользовательских форм ввода от ввода плохих и нежелательных данных

Описание способов и методов создания безопасных пользовательских форм средствами языка программирования PHP

Подробная информация о функциях в php, правилах их использования, особенностях применения в конкретных ситуациях

Что представояет собой галерея картинок в PHP, а также описание и пример — подробная инструкция

Полная и подробная инструкция по отправке сообщения на icq средствами языка программирования php

Рассмотрена разница между include и require с подробнейшими примерами, а также общая информация

Описание как правильно подбирать ключевые слова на основе содержания страницы при добавлении статьи

Подробная инструкция, каким образом необходимо сделать List/Menu элемент с данными из MySQL

Маленькая статьи и пример кода с подробными комментариями сортировки многомерного массива в PHP

Каким образом сделать поле auto_increment — общая информация и все необходимые подробности

Описание основных правил и принципов перед началом изучения программирования на PHP и MySQL

Что представляет собой аналог mysql_db_insert_id() из MySQL — полная информация с разъяснениями

Ответ на часто задаваемый вопрос, чем отличаются одинарные и двойные кавычки при PHP, Javascript программировании и HTML верстке

Самый простой способ выводить данные из таблиц базы данных MySQL при помощи языка программирования PHP


Как обезопасить выполнение SQL кода на PHP от SQL инъекций, тем самым сделать свой сайт безопасным

Как вывести программным способом данные при помощи PHP из таблиц и баз данных MySQL

вся подробная информация о текстовых и числовых группах, какие типы данных может поддерживать MySQL

Полное описание с примерами логических операций для языка программирования PHP (с разъяснениями)

Каким образом осуществить постраничный вывод данных, что представляет собой разбивка на страницы (с примером)

Подробная инструкция, как при запуске из командной строки передать параметры в PHP

Какие существуют основные и главные ошибки парсинга — Parse на PHP с примером кода

Что представляет собой парсинг HTML на PHP — описание с подробнейшим примером кода

Язык программирования PHP — что это такое, полное описание с примерами PHP и MySQL

Инструкция, как правильно обработать POST и GET методы в PHP с подробными примерами и описанием

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

Описание, как правильно настраивать конфигурационные файлы для php, mysql и apache

Подробная инструкция о том, каким образом осуществить передачу значения кнопки с формы

Все о сессии в PHP — общая информация, невозможность сохранения состояния, куки и многое другое

Как правильно и грамотно работать с сессиями в PHP — подробное описание с примером

Как провести защиту от спамеров с использованием PHP — PHP код, проверка данных и пример

Вы хотите из PHP отправлять сообщения в twitter, но не знаете как, то читайте эту статью

Какие существуют типы в PHP — с подробным описанием, пошаговым примером и детальной инструкцией

Каким образом загрузить (upload) файл средствами php- теория, пример, возможные ошибки Upload и PHP4

Что представляют собой переменные PHP внутри функций — подробная и детальная информация

Каким образом производить вычисления — арифметические, строковые и прочие операции

Полное описание того, что представляет собой статические (static) переменные с примерами

Каким образом нужно определять браузер пользователя и прочие системные переменные PHP

Инструкция с примерами, каким образом необходимо правильно использовать переменные в PHP

Что представляют собой переменные переменных на PHP — подробная и полная информация

Статья об установке и правилах использования XML в PHP, а также для чего все это необходимо делать

Таблицы с наборами часто используемых специальных символов при оформлении HTML документов, валюты, спецсимволы, кавычки и так далее

Краткий обзор бесплатного редактора Codelobster PHP Edition для работы по созданию сайтов с применением PHP, HTML, CSS технологий

Страница: PHP и MySQL программирование

ИнтеллигенцияX

Простая база данных на PHP и MySQL

Сделал на PHP для себя простенькую базу событий с напоминалкой о них на e-mail. Вполне сойдет как пример для работы в PHP с базой данных.

В качестве базы данных конечно MySQL.

Таблички можно создать вручную через phpMyAdmin, как описано в примере создания опроса на PHP здесь https://ds-release.ru/kak-sdelat-formu-dlya-oprosa-na-php/, но здесь таблички я буду создавать с помощью запросов.

Файл для создания таблиц create.php (его запускаем 1 раз, потом удаляем после создания таблиц).

Форма регистрации пользователя add.php

Заносим в базу логин и пароль add1.php

Теперь форма ввода логина и пароля login.php

После правильного ввода логина и пароля отображаем список событий see.php

Под табличкой событий форма для ввода нового события и кнопка Добавить, при нажатии на нее открывается seeadd.php, событие добавляется и снова отображается табличка с новым событием и форма ввода. Чтобы все корректно заносилось, надо обратить внимание на формат даты и кодировку.

В табличке у нас кнопка Изменить открывает change.php с формой изменения введенной ранее записи.

Изменяем событие, и нажимаем Сохранить, после чего открывается seechange.php, новая информации о событии сохраняется.

Снова отображается табличка с измененным событием и форма ввода.
Файл prover.php, который ставится в cron, и по времени проверяет базу на предмет просроченного событий, если находит — высылает на e-mail пользователя напоминание.

И напоследок, форма, которая высылает забытый пароль пользователю на e-mail.
Форма ввода логина для напоминания забытого пароля, , файл forgot.php.

При нажатии на кнопку «Выслать» запускается файл forgot1.php, который высылает пароль на e-mail пользователя.

В результате получается вот такая простая база данных по событиям с функцией уведомления о событиях на e-mail пользователя:

Дополнительно список событий можно оформить в виде таблички, еще можно добавить кнопку «Удалить» в таблицу для удаления строк, сделать возможность «закрывать» события, нажимая на ссылку сразу в письме с напоминанием, сделать какое-нибудь шифрование пароля, который передается через адресную строку.

А так можно представленные выше куски кода вставить в шаблоны страниц, чтобы красиво было, залить на сайт и будет он-лайн напоминалка о событиях на e-mail.

Строим свою CMS на PHP и MySQL. Часть 2

В предыдущем уроке серии мы создали базу данных и конфигурационный файл для нашей простой CMS. Теперь создадим основной класс нашего приложения — Article.

В нашей CMS Article будет единственным классом PHP. Он будет обслуживать задачи сохранения статьи в базе данных и получения материалов для вывода на страницах проекта. Как только мы построим данный класс будет действительно легко создать другие скрипты для создания, обновления, вывода и удаления статей.

В нашей папке cms создаем каталог classes . В папке classes создаем новый файл с именем Article.php и копируем в него следующий код:

Файл получается достаточно длинным, но код очень простой. Разберем его подробно:

1. Определение класса и его свойства

Сначала определим класс Article:

Все, что следует за данным строками до закрывающей фигурной скобки в конце файла содержит код нашего класса Article .

После определения класса мы объявляем свойства класса : $id , $publicationDate и так далее. Каждый объект Article , который мы создаем, будет хранить данные в объявленных свойствах. Обратите внимание, что имена свойств соответствуют именам полей в таблице articles .

Технически, такой тип класса, который содержит свойства соответствующие непосредственно полям базы данных и методы для хранения и получения записей, соответствует шаблону объектно-ориентированного проектирования, известному как active record.

2. Конструктор

Затем мы создаем методы класса. Это функции, которые привязаны к классу и к объекту, создаваемому из класса. Наш основной код вызывает методы для манипулирования данными в объекте Article .

Первый метод, __construct() , является конструктором. Это специальный метод, который автоматически вызывается системой PHP каждый раз, когда создается новый объект Article . Наш конструктор получает необязательный массив $data , в котором содержатся данные для свойств нового объекта. Затем мы присваиваем данные свойствам в теле конструктора. Таким образом, получается удобный способ для создания и инициализации объекта в одно действие.

$this->propertyName означает: «Свойство объекта this с именем » $propertyName «.

Обратите внимание, что метод фильтрует данные, прежде чем присвоить их свойствам. Свойства id и publicationDate приводятся к типу int с помощью (int) , так данные значения должны быть типа int . Свойства title и summary фильтруются с помощью регулярных выражений, так как в них допускает наличие символов из определенного набора. С точки зрения безопасности фильтрация данных ввода — отличная практика. Пропускаем только допустимые значения и символы.

Однако, мы не фильтруем свойство content . Почему? Вероятно, администратор захочет использовать более широкий диапазон символов в содержании статьи — например, разметку HTML. Если мы ограничим диапазон доступных символов в содержании, то снизим полезность нашей системы для администратора.

Обычно, такие места могут оказаться дырой в системе безопасности, так как пользователь может вставить вредный код JavaScript или материалы с ошибками в содержание статьи. Однако, так как мы полагаем. что единственной персоной, которой доступно редактирование содержание, будет администратор системы, располагающий безграничным доверием, то вопрос с уязвимостью содержания остается за рамками нашего внимания. Если вы имеете дело с генерируем пользователями содержанием, например, комментариями или записями форума, то следует быть более осторожным и допускать только «безопасный» код HTML к использованию. Отличным инструментом для решения таких задач является HTML Purifier, который анализирует ввод кода HTML и удаляет все потенциальные угрозы.

Безопасность кода PHP выходит за рамки наших уроков. Вам следует посвятить определенное время для изучения данного вопроса.

3. storeFormValues()

Следующий метод storeFormValues() похож на конструктор в том, что он сохраняет полученный массив данных в свойствах объекта. Основное отличие заключается в том, что storeFormValues() может обрабатывать данные в формате, который используется в формах New Article (Новая статья) и Edit Article (Редактировать статью) (мы создадим их позже). В частности, он может обрабатывать дату публикации в формате YYYY-MM-DD , конвертировать ее в формат времени UNIX, который отлично подходит для хранения в объекте.

Формат времени UNIX представляет собой целое значение, которое содержит количество секунд от полуночи 1 января 1970 до искомой даты. Датой в таком формате легко оперировать, и ее удобно хранить.

Назначение данного метода — облегчить реализацию скрипта для хранения дат, вводимых в формах.

Все члены (то есть свойства и методы) нашего класса Article имеют ключевое слово public перед определением, что означает доступность кода вне класса. Также можно создавать частные члены (директива private ) (их можно использовать только в классе) и защищенные члены (директива protected ) (которые можно использовать в классе и его подклассах).

4. getById()

Теперь перейдем к методам, реализующим доступ к базе данных MySQL. Первый из них — getById() . Он принимает в качестве аргумента ID статьи ( $id ) и возвращает запись с указанным ID из таблицы articles , сохраняя данные в новом объекте Article .

Обычно, когда вы вызываете метод, сначала нужно создать объект, а затем вызвать метод, принадлежащий объекту. Но, так как getById() возвращает новый объект Article , будет полезно вызывать его напрямую, а не через существующий объект. Иначе придется создавать новый объект-заглушку каждый раз, когда нужно вызвать метод и получить статью.

Для разрешения вызова метода без объекта мы добавляем декларацию static к определению метода. Таким образом разрешается вызов метода непосредственно без определения объекта.

Метод использует PDO для соединения с базой данных, получает запись статьи с помощью запроса SQL SELECT и сохраняет данные в новом объекте Article , который возвращается в вызывающий код. PDO — PHP Data Objects —объектно-ориентированная библиотека, встроенная в PHP, которая облегчает связь скриптов PHP с базами данных.

Разберем метод подробнее:

Соединение с базой данных

Здесь выполняется соединение с базой данных MySQL с помощью данных из файла config.php . Дескриптор соединения сохраняется в переменной $conn . Данный дескриптор используется в остальном коде для обмена данных с базой.

Получаем запись статьи

Выражение SELECT возвращает все поля ( * ) из записи в таблице articles , которые соответствуют заданному полю id . Значение поля publicationDate возвращается в формате времени UNIX, вместо формата для дат MySQL, что упрощает процесс сохранения в нашем объекте.

Вместо того, чтобы помещать наш параметр $id непосредственно в строку SELECT , что увеличивает риск нарушения системы безопасности, мы используем :id . Такой параметр известен как . Далее мы вызываем метод PDO для привязывания значение $id к указателю места размещения.

Сразу после сохранения выражения SELECT в строке, мы подготавливаем его с помощью функции $conn->prepare() , сохраняя полученный дескриптор в переменной $st .


Подготовка выражения используется для работы со многими базами данных. Она позволяет выполнять запросы быстрее и безопаснее.

Затем мы привязываем значение переменной $id ( ID нужной статьи) к указателю места размещения :id с помощью вызова метода bindValue() .

И вызываем метод execute() для выполнения запроса. После чего используем метод fetch() для перемещения полученной записи в ассоциированный массив с именами полей и соответствующими значениями, который хранится в переменной $row .

Закрываем соединение

Так как нам больше не нужно соединение, мы закрываем его, присваивая значение null переменной $conn . Закрывать соединение с базой данных как можно быстрее является хорошей практикой для освобождения памяти на сервере.

Возвращаем объект Article

Последним действием в нашем методе является создание объекта Article , который будет содержать запись из базы данных, и возвращение его вызывающему коду. Сначала проверяем наличие данных в переменной $row после вызова метода fetch() . Если данные есть, создаем новый объект Article передавая переменную ему $row . Будет вызван конструктор класса, который наполнит объект данными из массива $row . Затем возвращаем готовый объект и работа метода завершена.

5. getList()

Следующий метод getList() во многом похож на метод getById() . Основное отличие заключается в том, что метод getList() возвращает несколько статей сразу. Его используют, когда нужно вывести список статей для пользователя или администратора.

getList() принимает 2 аргумента:

$numRows Максимальное количество получаемых статей. По умолчанию установлено значение 1,000,000 (то есть, практически все статьи). Данный параметр позволяет нам получать только первые 5 статей для главной страницы. $order Порядок сортировки получаемых статей. По умолчанию используется параметр «publicationDate DESC» , который означает «сортировка по дате публикации, новые статьи первые».

Большая часть кода метода похожа на код метода getById() . Посмотрим на несколько строк:

Здесь запрос немного сложнее. Обратите внимание, что здесь не используется выражение WHERE , так как мы хотим получить все статьи, а не одну с заданным ID.

Также добавлено выражение ORDER BY для сортировки возвращаемых записей в определенном порядке. Используется выражение LIMIT с параметром $numRows (как указатель места размещения) для ограничения количества получаемых записей.

Специальное значение MySQL SQL_CALC_FOUND_ROWS указывает базе данных, что нужно вернуть действительное количество возвращаемых записей. Такая информация полезна для информирования пользователя и организации других функций, например, постраничного вывода списка.

Вместо передачи значения переменной $order в запрос через указатель места размещения, мы передаем его прямо в строку запроса, вызывая функцию mysql_escape_string() , чтобы отбросить любые специальные символы (для безопасности). Если использовать указатель места размещения, то PDO поместит кавычки ( ‘ ) вокруг строки (например, ORDER BY ‘publicationDate DESC’ ), что является ошибкой синтаксиса.

Так как мы возвращаем несколько строк, нужно создать массив $list для размещения соответствующих объектов Article . Затем используем цикл while для получения следующей строки через fetch() , создаем новый объект Article , сохраняем строку в объекте и добавляем объект к массиву $list . Когда строк не останется, метод fetch() вернет false , и цикл остановится.

В завершении мы выполняем запрос, который использует функцию MySQL FOUND_ROWS() для получения количества возвращаемых строк, вычисленного в предыдущей команде SQL_CALC_FOUND_ROWS . В этот раз используем метод PDO query() , который позволяет быстро выполнить запрос, если нет указателей места замещения. Мы вызываем метод fetch() для получения результата. Затем возвращаем оба значения — список объектов Article ( $list ) и общее количество строк — как ассоциированный массив.

6. insert()

Оставшиеся методы в нашем классе Article работают с добавлением, изменением и удалением записей статей в базе данных.

insert() добавляет новую статью в таблицу articles , используя значения из текущего объекта Article :

  • Сначала метод проверяет, что объект не имеет установленного свойства $id . Если у объекта есть ID, то, вероятно, статья уже имеется в базе данных и ее добавлять не нужно.
  • Затем метод выполняет запрос SQL INSERT для вставки записи в таблицу articles , используя указатели места замещения для передачи значений свойств в базу данных. Обратите внимание, что мы используем функцию MySQL FROM_UNIXTIME() для конвертации даты публикации в формат MySQL.
  • После выполнения запроса, метод возвращает ID новой статьи с помощью функции PDO lastInsertId() и сохраняет значение в свойстве $id . Мы установили в таблице articles для поля id свойство auto_increment , поэтому MySQL генерирует уникальное значение ID для каждой новой записи.

Обратите внимание, что мы используем PDO::PARAM_INT при привязке целых значений к указателям места замещения, и PDO::PARAM_STR при привязке строк. Таким образом, PDO может правильно обрабатывать значения.

7. update ()

Данный метод похож на метод insert() , за исключением того, что здесь происходит обновление записи в базе данных вместо создания новой записи.

Сначала проверяем наличие ID у объекта, так как обновить можно только запись с известным ID. Затем используем выражение SQL UPDATE для обновления полей записи. Обратите внимание на передачу ID объекта в выражение UPDATE , так как мы знаем, какую запись надо обновить.

8. delete ()

Метод delete() использует выражение SQL DELETE для удаления из таблицы articles статьи, которая хранится в объекте. Для идентификации записи задействуем свойство $id объекта. Для безопасности мы добавили LIMIT 1 к запросу, чтобы ограничиться удалением только одной записи.

В следующем уроке мы создадим скрипты для клиентской и серверной части нашего приложения.

Данный урок подготовлен для вас командой сайта ruseller.com
Источник урока: www.elated.com/articles/cms-in-an-afternoon-php-mysql/#step9
Перевел: Сергей Фастунов
Урок создан: 23 Ноября 2012
Просмотров: 86156
Правила перепечатки

5 последних уроков рубрики «PHP»

Фильтрация данных с помощью zend-filter

Когда речь идёт о безопасности веб-сайта, то фраза «фильтруйте всё, экранируйте всё» всегда будет актуальна. Сегодня поговорим о фильтрации данных.

Контекстное экранирование с помощью zend-escaper

Обеспечение безопасности веб-сайта — это не только защита от SQL инъекций, но и протекция от межсайтового скриптинга (XSS), межсайтовой подделки запросов (CSRF) и от других видов атак. В частности, вам нужно очень осторожно подходить к формированию HTML, CSS и JavaScript кода.

Подключение Zend модулей к Expressive

Expressive 2 поддерживает возможность подключения других ZF компонент по специальной схеме. Не всем нравится данное решение. В этой статье мы расскажем как улучшили процесс подключение нескольких модулей.

Совет: отправка информации в Google Analytics через API

Предположим, что вам необходимо отправить какую-то информацию в Google Analytics из серверного скрипта. Как это сделать. Ответ в этой заметке.

Подборка PHP песочниц

Подборка из нескольких видов PHP песочниц. На некоторых вы в режиме online сможете потестить свой код, но есть так же решения, которые можно внедрить на свой сайт.

Описание PHP и MySQL

Все php функции которые предназначены для работы с базой данных mysql имеют префикс mysql_

Я не буду рассматривать синтаксис каждой функции. Надеюсь у вас есть php manual (его можно скачать с сайта http://php.net). Рассмотрим эти функции в деле т.е. на примере.

Кодировка cp1251 — русская, её можно заменить на имя любой нужной вам кодировки.

Переключение модулей баз данных

Будьте внимательны при смене активного модуля базы данных. Каждый модуль имеет свое отдельное хранилище баз и настроек, они никак не связаны друг с другом, поэтому вы не увидите созданные вами базы данных при переключении на другой модуль.

Правая Скобка ]

Энциклопедия веб разработчика. Все что интересно HTML, CSS, PHP, MySQL и не только !

PHP cоздание базы данных

Создание базы данных MySQL с помощью PHP

Чтобы создать или удалить базу данных, необходимо обладать правами администратора. Для создания базы данных MySQL в PHP используется функция mysql_query. Эта функция принимает два параметра и возвращает TRUE при успешном завершении или FALSE при сбое.

Синтаксис:

Параметр и описание
1 SQL
Обязательный — SQL-запрос для создания базы данных
2 connection
Необязательный параметр — если не указан, будет использоваться последнее соединение с использованием mysql_connect.

Пример создания базы данных:

Выбор базы данных
После установления соединения с сервером базы данных необходимо выбрать конкретную базу данных, в которой находятся таблицы с данными.

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

PHP предоставляет функцию mysql_select_db для выбора базы данных. Он возвращает TRUE при успешном выборе или FALSE при сбое.

Работа с mysql на php

В этой теме 0 ответов, 1 участник, последнее обновление Васильев Владимир Сергеевич 2 года/лет, 7 мес. назад.

Помню те времена, когда я еще не знал что такое mysql и часто искал в интернете такие статьи. Но, они почему-то редко находились. Вот теперь решил выложить такую, чтобы полезных статей о mysql и php стало на одну больше. Постараюсь написать все на доступном языке.

начало работы с mysql и php

Итак, для начала нам потребуется локальный сервер, для того чтобы можно было запускать php скрипты и подключаться к базе (дальше буду называть БД, что означает «база данных»). Если у вас еще нет локального сервера, то сначала следует прочитать Установка и настройка localhost, а потом уже приступать к изучению БД mysql и ее СУБД (средство управления базой данных).

Если у вас уже есть этот сервер, то делаем так. Для начала хочу познакомить вас с СУБД PhpMyAdmin, она позволяет управлять (добавлять, удалять, изменять) записями в БД.

Это главная страница СУБД PhpMyAdmin. Отсюда вы можете создать свою БД, и хранить в ней необходимые записи. Это очень удобно при создании сайтов, так как информация структурирована и вы можете очень быстро получить любую запись из БД.

Как уже было сказано, первая часть статьи, знакомство с mysql и phpmyadmin. Думаю теперь вы поняли что такое mysql и мы можем приступать к изучению функционала phpmyadmin. Для начала работы, нам потребуется создать саму БД (базу данных). У нее будет свое имя, по которому мы потом будем ее искать.

Вот общая структура строения базы данных:

Для того чтобы создать БД, впишите в поле ввода под строкой «Создать новую БД» (на главной странице PhpMyAdmin) любое имя (не кириллица!) для будущей базы. Я создам базу данных с именем «baza» . Теперь, следуя схеме строения БД, нам нужно сделать таблицу. Для этого после создания базы, у вас будет такое окно:

Здесь я создаю таблицу с именем users и 3 полями в ней. Дальше phpmyadmin попросит нас задать структуру для каждого поля:

Здесь в столбце «Поле» нужно указать имя, в «Тип» указываем тип данных которые будут там храниться ( INT — это число, VARCHAR — строка или небольшой(!) текст). В «Дополнительно» указываем полю с именем «id» параметр «auto_increament» , что означает, оно будет увеличиваться каждый раз при вставке каких-либо данных, и задаем ему параметр «Первичный ключ» (ставим кругляшок ), это значит, что по первому столбцу мы сможем однозначно идентифицировать поле.

«Однозначно идентифицировать поле» — значит даже если имя и фамилия будут одинаковы, столбец «id» будет иметь разные значения (так как он автоматически увеличивается на единицу каждый раз).

Теперь нажимаем «Сохранить». Тем самым мы создали таблицу users , в которой можем хранить имя и фамилию ( >users . Таблицу мы создавали для хранения записей. А как их туда вставлять? Читайте ниже ��

Выбираем в меню «Вставить» и пишем нужные значения в необходимые поля. Теперь как удалить или изменить значения в базе данных mysql с СУБД PhpMyAdmin… Для удаления просто перейдите в меню «Обзор» и нажмите красный крестик напротив записи:

А для редактирования нажмите на карандаш и замените необходимые поля. Ну вот, на этом урок закончен. Теперь вы можете управлять базой данных mysql используя PhpMyAdmin. В следующем уроке, я научу вас хранить, получать, удалять и обновлять данные в базе используя php. Это очень удобно и практично.

Работа с базой данных mysql из php

Итак, для начала нужно научиться подключаться к уже заведомо созданной БД. Для этого используется вот такой код:

В вышеизложенном коде, я подключался к серверу localhost используя логин root который не требует пароля (поэтому его не указываем). После подключения к базе, мы можем проводить все те операции которые выполняли в СУБД phpmyadmin. То есть вставку, удаление, изменение и получение различной информации. Теперь по пунктам:

Вставка записей в базу данных SQL на php

То есть вставка производится функцией INSERT . Если все прошло успешно, то mysql вернет результат true, или иначе — false.

Полей можно указывать хоть сколько, главное чтобы все они существовали в БД. То есть, к примеру существует таблица в которой есть поля «name» , «surname» и «city» . Для вставки в нее значений будем использовать такой код:

Удаление записей из базы данных SQL на php

Удаление выполняется функцией DELETE . Для этого будет примерно вот такой код:

То есть мы удалим из таблицы users все строки (ну или одну), где столбец name равен значению Ruslan .

Изменение значений в базе данных MySQL на php

Также мы можем вносить изменения в уже существующие записи в таблице. К примеру нам надо заменить значение столбца name в строке, где столбец surname имеет значение Huzin . Для этого выполняем такой код:

Получение значений из базы данных

Теперь самое интересное. Раз мы записали что-то, то ведь должны и получить обратно? К примеру нам нужно достать из таблицы users всю строку где столбец name равен Ruslan . Для этого нам потребуется чуть другой код, нежели в первых примерах. Вот собственно и он:

Тут нам потребовалась еще одна функция, для записи выбранных данных в переменную (массив) на php. Для того что обратиться к выбранной строке, мы пишем так:

то есть, чтобы достать фамилию из выбранной строки (где имя было Ruslan ), мы на вывод должны написать:

А при выборке из таблицы, писали SELECT * , эта звездочка означает что нужно выбрать все столбцы из строки. Если нам надо, к примеру, выбрать только surname , пишем SELECT `surname` . А для выборки сразу нескольких строк из таблицы, потребуется еще и цикл для их вывода. Это в том случае, если к примеру, строк со столбцом Ruslan будет несколько. Вот код:

Теперь на экран выведутся все строки у которых столбец name равен значению Ruslan .

Вот вы и познакомились с основными функциями управления базой данных mysql напрямую из php скрипта.

Илон Маск рекомендует:  Вывод круговой диаграммы
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL