Рано или поздно нам понадобится сохранять данные с каком-то постоянном хранилище, чтобы они были доступны даже после перезапуска сервера. Часто люди записывают нужные данные в простые текстовые файлы. Но если данных много, они разнообразные и их формат может меняться, то удобнее хранить их в базе данных.
Одной из самых популярных систем управления базами данных является MySQL. В этом уроке мы разберемся как мы можем работать с базой данных MySQL на сервере Rage MP.
Я использую mysql сервер в комплекте программы Open Server. В этой же программе есть клиент phpMyAdmin с помощью которого можно работать с базой данных в браузере.
Node js мы скачаем и установим с официального сайта (LTS версия). При установке можно ничего не менять и оставлять все как есть по-умолчанию.
Для теста я создал базу данных rage-test и в ней простенькую таблицу accounts
и добавил парочку записей
Примечание: хранить пароле в базе данных в открытом виде очень плохо! Мы делаем это только для упрощения в уроке.
Стандартно сервер Rage MP не умеет работать с mysql. Но при помощи дополнительных модулей мы можем научить его делать это. Благодаря тому что мы установили node js теперь у нас в системе есть и пакетный менеджер npm, с помощью которого мы и добавим необходимый модуль.
В папке сервера нам нужно запустить терминал Windows и в нем выполнить команду
После установки пакета mysql мы можем использовать его в своих скриптах! Ниже приведу пример подключения к базе данных
Если мы смогли успешно подключиться к базе данных, то теперь можем выполнить наш первый запрос
Если нам нужно подставить в запрос какое-то значение (например, логин который ввел пользователь), то подставляем их сразу с экранирование таким способом:
В самом запросе в местах где будут подставляться значения мы ставим вопросительный знак, а сами значение передаем в массиве во втором аргументе функции query (в том же порядке, что и вопросительные знаки). Это гораздо безопаснее чем подставлять данные напрямую в запрос.
Также добавим к примеру еще одну запись в таблицу accounts
В данном запросе я добавляю запись, и ничего не выбираю. Поэтому я не обрабатываю получение results.
По сути этого достаточно чтобы начать полноценно работать с mysql. Понятное дело нужно знать основы языка запросов SQL. Там еще много интересных возможностей. Если интересует что-то конкретное - напишите, я попробую разобрать и объяснить.
Следующий шаг: Регистрация и авторизация на CEF + MySQL
Полезные ссылки:
Документация по модулю mysql (ENG)
Сайт Open Server
Сайт node js
Тестировать мы будет на своем компьютере и нам понадобится установить сервер MySQL и node js.Я использую mysql сервер в комплекте программы Open Server. В этой же программе есть клиент phpMyAdmin с помощью которого можно работать с базой данных в браузере.
Node js мы скачаем и установим с официального сайта (LTS версия). При установке можно ничего не менять и оставлять все как есть по-умолчанию.
Для теста я создал базу данных rage-test и в ней простенькую таблицу accounts
и добавил парочку записей
Примечание: хранить пароле в базе данных в открытом виде очень плохо! Мы делаем это только для упрощения в уроке.
Стандартно сервер Rage MP не умеет работать с mysql. Но при помощи дополнительных модулей мы можем научить его делать это. Благодаря тому что мы установили node js теперь у нас в системе есть и пакетный менеджер npm, с помощью которого мы и добавим необходимый модуль.
В папке сервера нам нужно запустить терминал Windows и в нем выполнить команду
Код:
npm install mysql
После установки пакета mysql мы можем использовать его в своих скриптах! Ниже приведу пример подключения к базе данных
JavaScript:
var mysql = require('mysql'); // подключаем библиотеку к скрипту
var connection = mysql.createConnection({ // настройки подключения к базе данных
host : 'localhost',
user : 'mysql',
password : 'mysql',
database : 'rage-test'
});
connection.connect(function(err) { // подключаемся
if (err) { // в случае ошибки в err будет объект ошибки
console.error('Ошибка подключения: ' + err.stack);
return;
}
console.log('Успешное подключение к базе данных ');
});
Если мы смогли успешно подключиться к базе данных, то теперь можем выполнить наш первый запрос
JavaScript:
connection.query('SELECT * FROM accounts', function (error, results) {
console.log(results);
});
Если нам нужно подставить в запрос какое-то значение (например, логин который ввел пользователь), то подставляем их сразу с экранирование таким способом:
JavaScript:
connection.query('SELECT * FROM accounts WHERE login = ? AND password = ?', ['Иванов Иван', '47t6437t8ygoeruygo'], function (error, results) {
console.log(results);
});
Также добавим к примеру еще одну запись в таблицу accounts
JavaScript:
connection.query('INSERT INTO accounts SET login = ?, password = ?', ['Mark', '8888']);
По сути этого достаточно чтобы начать полноценно работать с mysql. Понятное дело нужно знать основы языка запросов SQL. Там еще много интересных возможностей. Если интересует что-то конкретное - напишите, я попробую разобрать и объяснить.
Следующий шаг: Регистрация и авторизация на CEF + MySQL
Полезные ссылки:
Документация по модулю mysql (ENG)
Сайт Open Server
Сайт node js
Последнее редактирование: