Среда MySQL.
В данном F.A.Q. мы более близко познакомимся с MySQL.

SQL запросы.
Structured Query Language - язык структурированных запросов.
Это специальный язык, который позволяет нам управлять данными в реляционных базах данных.
Следовательно, не сложно будет понять что именно его и будем использовать для управления.

Знакомимся с операторами:

Операторы определения данных:
        CREATE - создает объект БД
        ALTER - изменяет объект
        DROP - удаляет объект

Операторы манипуляции данными:
        SELECT - считывает данные
        INSERT - добавляет новые данные
        UPDATE - изменяет существующие данные
        DELETE - удаляет данные

Операторы определения доступа к данным:

        GRANT - предоставляет пользователю разрешения на определенные операции с объектом
        REVOKE - отзывает ранее выданные разрешения
        DENY - задает запрет, имеющий приоритет над разрешением

Операторы управления транзакциями:
        COMMIT - применяет транзакцию.
        ROLLBACK - откатывает все изменения, сделанные в контексте текущей транзакции.
        SAVEPOINT - делит транзакцию на более мелкие участки.

Итак, как же мы работаем.
Начиная с версии 0.2, мультиплеер поддерживает возможность создания плагинов, расширяющих возможности сервера. Наиболее популярными являются плагины для работы с СУБД MySQL, а именно плагин от G-sTyLeZzZ's.
Сервер после определения БД, может посылать запросы MySQL серверу, который их обрабатывает.

Функции плагина:

samp_mysql_query(query[])
Отправка SQL запроса, пример использования:

Код:
new string[256];
format(string, sizeof(string), "SELECT `password` FROM `users` WHERE `username` = '%s'", PlayerName(playerid));
mysql_query(string);//посылает запрос лежащий в переменной string

samp_mysql_connect(server[], user[], password[])
Соединение с MySQL сервером, пример использования:

Код:
mysql_connect(SQL_HOST, SQL_USER, SQL_DB, SQL_PASS))//подключаемся с массивами
//где SQL_HOST, SQL_USER, SQL_DB, SQL_PASS = IP MySQL сервера, юзер, пароль, название БД.

samp_mysql_ping()
Пингует MySQL сервер, обычно используется для проверки соединился или нет, пример использования:

Код:
  if(mysql_ping() == 1)//проверка подключились мы к MySQL
    {
        printf("[MYSQL]: Подключение к `%s` выполнено!", SQL_DB);
    } 
    else
    {
        printf("[MYSQL]: [ERROR]: Подключение к `%s` не выполнено", SQL_DB);
    }

samp_mysql_free_result()
Сбрасывает полученный результат от запроса, пример использования:

Код:
new string[256];
format(string, sizeof(string), "SELECT `password` FROM `users` WHERE `username` = '%s'", PlayerName(playerid));
mysql_query(string);//посылает запрос лежащий в переменной string 
samp_mysql_free_result(string) //сброс

samp_mysql_close()
Закрывает соединение с сервером MySQL, пример использования:

Код:
mysql_connect(SQL_HOST, SQL_USER, SQL_DB, SQL_PASS))//подключаемся с массивами
//где SQL_HOST, SQL_USER, SQL_DB, SQL_PASS = IP MySQL сервера, юзер, пароль, название БД.
samp_mysql_close() //отключение от сервера

samp_mysql_num_rows()
Возвращает число строк, пример использования:

Код:
new stroki[256];
samp_mysql_num_rows(stroki);
{
printf(" Число строк `%s` ", stroki);
return 1;
}

samp_mysql_num_field()
Возвращает количество полей в таблице, пример использования:

Код:
new line[1024];
new fieldvalue[128];
samp_mysql_fetch_row(line);
samp_mysql_get_field("user_name", field);
printf("%s ", field);


samp_mysql_store_result()

Подготавливает полученный результат, пример использования:

Код:
new string[256];
new result[256];
format(string, sizeof(string), "SELECT `password` FROM `users` WHERE `username` = '%s'", PlayerName(playerid));
mysql_query(string);  
{
samp_mysql_store_result(result)
{
printf("`%s` ", result);
}
return 0;
}