Знакомство с MySQL: функции, настройка и подключение

Что включает в себя веб-сайт? Обязательно набор HTML-страниц с разметкой, текстом, заголовками; CSS-таблицы для красоты и стиля. Чтобы ресурс был интерактивным, дизайнеры создают javascript и php-скрипты. А также любому полноценному приложению нужны данные - списки пользователей, товаров, почтовые адреса клиентов. Конечно, их можно хранить в отдельных файлах. Но гораздо безопаснее и удобнее использовать базу данных. Самой популярной на сегодняшний день является MySQL. Давайте разберемся с основными функциями MySQL и научимся выполнять простые запросы к БД.

Основные функции Mysqli

Настройка программного обеспечения

MySQL — это программа, которая выполняется на компьютере. Поэтому, чтобы было с чем работать, вы должны сначала скачать MySQL на свою рабочую машину. Если есть свой хост, то база данных уже установлена на веб-сервере. Эту услугу предоставляет каждый хостинг-провайдер, так что просто зайдите в phpMyAdmin.

Для загрузки и настройки MySQL на персональном компьютере скачайте и установите локальный сервер. Это может быть Denver, OpenServer или XAMPP (LAMPP для Linux). В этой статье все примеры созданы на XAMPP. Рабочая директория находится в C:/xampp/htdocs. Для удобства создайте отдельный каталог с названием сайта, в котором будет отдельно папка scripts для файлов php.

настройка MySQL

Создание первой базы данных

После установки XAMPP наберите в командной строке браузера localhost/dashboard/. Откроется приветственное письмо с панелью навигации вверху. Нажмите на phpMySQL и переходите по ссылке. Вы попадете в специальное веб-приложение, обеспечивающее доступ к MySQL. В левой колонке представлен список уже существующих баз и кнопка для создания новой. Нажимайте ее и вводите любое имя, пусть это будет myFirstDB. Справа от поля для имени находится выпадающий список для выбора кодировки, в котором нужно найти utf8_general_ci.

Функция MySQL хранить информацию и обеспечивать к ней доступ. Все данные находятся в форме таблиц, состоящих из строк и столбцов. Создать такую таблицу можно в командной строке или через интерфейс phpMySQL. Для этого выберите myFirstDB, нажмите кнопку вверху SQL и наберите следующее.

CREATE TABLE users(
user_id int AUTO_INCREMENT PRIMARY KEY,
username varchar(50),
email varchar(100)
);

Теперь у вас есть таблица, в которую пользователи могут вносить свое имя и почтовый адрес. Столбец user_id будет заполняться автоматически и увеличиваться на единицу в каждой новой строке. Доступ к информации вы можете получать из phpMySQL, но проще это делать непосредственно из php-сценариев с помощью функций Mysqli.

php функции mysqli для подключения к БД

Подключение к базе данных из сценариев

В рабочем каталоге в папке scripts создайте документ config.php. Здесь у вас будут храниться конфигурационные настройки, php функции Mysqli для доступа к базе. Этот файл вы будете в дальнейшем подключать для работы MySQL из других сценариев.

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

<?php  
DEFINE("DATABASE_HOST", "localhost");
DEFINE("DATABASE_USER_NAME","root");
DEFINE("DATABASE_PASSWORD","");
DEFINE("DATABASE_NAME","myFirstDB");
?>

С помощью функции Mysqli мы подключимся к заранее созданной myFirstDB.

//для объектно-ориентированного стиля
$mysqli =  new mysqli(DATABASE_HOST, DATABASE_USER_NAME, DATABASE_PASSWORD, DATABASE_NAME) or die("Can't connect to MySQL: ".mysqli_connect_error());
//процедурного
$link = mysqli_connect(DATABASE_HOST, DATABASE_USER_NAME, DATABASE_PASSWORD, DATABASE_NAME)
or die("Can't connect to MySQL: ".mysqli_connect_error());

Занесение данных в таблицу

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

<form action="create_user.php" method="POST" id="signup_form"   
        <label for="username">Имя пользователя:</label>
        <input type="text" name="username" size="20" class="required" />
        <label for="email">E-Mail Address:</label> 
        <input type="email" name="email" size="50" />
        <input type="submit" value="Join" />
        <input type="reset" value="Restart" />    
</form>

Форма отправляет данные сценарию create_user.php.

<?php 
require_once 'scripts/config.php';

//собираю информацию из формы
$username = htmlspecialchars(trim($_REQUEST['username']));
$email = htmlspecialchars(trim($_REQUEST['email']));

//текст для запроса базе данных и взаимодействие с MySQL
$insert_sql = "INSERT INTO users(username, email) VALUES(?,?)";
// подготовленный запрос
$stmt = $mysqli->prepare($insert_sql) or die("Ошибка при создании подготовленного запроса");
$stmt->bind_param('ss', $username, $email) or die("Ошибка при создании параметров подготовленного запроса");
$stmt->execute() or die("Ошибка при отправке подготовленного запроса");
$stmt->close();
?>

В верхней строке сценарий запрашивает файл config.php с подключением к базе данных. С помощью переменных $username и $email собирает введенные пользователем строки и с помощью функций Mysqli заносит их в таблицу. Проверьте работоспособность сценария, а потом откройте phpMyAdmin и посмотрите, как изменилась ваша таблица users.

Статья закончилась. Вопросы остались?
Подписаться
Я хочу получать
Правила публикации
Следят за новыми комментариями — 5
Редактирование комментария возможно в течении пяти минут после его создания, либо до момента появления ответа на данный комментарий.