Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info

Перевод сервера с mxIni на MySQL R8

Статус
В этой теме нельзя размещать новые ответы.

Rubick

Умник
Добрый день уважаемые пользователи Pawno-Info!

По просьбе одного пользователя выкладываю вам урок по переводу сервера с mxIni на MySQL R8

Т.к на форуме уже существует урок и многим он просто не понятен! То я постараюсь грамотно излагать свои мысли для понятного вам языка.

Итак приступаем:

Загрузка данных на mxIni:

PHP:
	    new string[64];
		new playername[MAX_PLAYER_NAME];
		GetPlayerName(playerid, playername, sizeof(playername));
		format(string,sizeof(string), "Accounts/%s.ini", playername);
		new iniFile = ini_createFile(string);
		if(iniFile < 0)
		{
			iniFile = ini_openFile(string);
		}
		if(iniFile >= 0)
		{
			strmid(Player[playerid][PASSWORD],password,0,strlen(password),255);
			ini_setString(iniFile,"Pass",Player[playerid][PASSWORD]);
	 	 	ini_closeFile(iniFile);
Загрузка данных на MySQL:

PHP:
new DATABASE, QUERY[32];

DATABASE = mysql_connect("localhost", "root", "DB", "");

mysql_format(DATABASE, QUERY, sizeof(QUERY), "SELECT * FROM `Users` WHERE name = '%d' LIMIT 1", USER(playerid));
mysql_function_query(DATABASE, QUERY, true, "LoadAccountsData", "d");
Попробуем всё разобрать:

DATABASE = Переменная которая привязывается для подключения к базе данных

mysql_format = Отправляет запрос к структуре, либо удаляет/создаёт значения

mysql_function_query = Выполнение запроса, сначала по аргументам идёт привязка переменной к базе данных, Включение кэширования для загрузки/создания данных, вызов Public с функциями cache, значения например если sii то означет - string, integer, integer (Строка, Номер, Номер)

Теперь перейдём к Public считывания данных кэширования:

PHP:
forward LoadAccountsData(playerid); public LoadAccountsData(playerid) {
new r, f; // Переменные для cache_get_data
cache_get_data(r, f); // Количество строк и столбцов (rows, fields)
if(!rows) return true;
cache_get_row(0, 2, User[playerid][PassKey], DATABASE, 30);// Кэширование данных пароля т.е загрузка с базы данных  // Если создан аккаунт то выполнится кэширование
return 1; // Удаляем данные для кэширования
}
На этом урок закончен!

Будет часто дополняться в случае возникновения вопросов!



Автор урока: Rubick
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу