В теме 3 сообщения

Antoxa39
Dance 80-90, mmm Nice)

Здарова бандиты. 

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

Не регистрацию,и не в готовом моде где просто пользователя пароль хост и т.д меняете.

А подключение с нуля.

 

1.Нам понадобится MySQL.  Я использую R39-6. Скачать 

2.Приступаем к подготовительному этапу.

Заходим в Pawn и подключаем MySQL чуть ниже инклюда a_samp. #include <a_mysql>

Должно быть так.

После этого отчищаем мод от хлама. Должно получится вот так: жмЫкс

3.Подключение

Дальше нам требуется создать переменную,эта переменная будет хранить ИД подключения. в MySQL R39 создаем простую переменную.

new dbHandle; 

В MySQL R41 создаем так:

 new MySQL:dbHandle;

 

теперь создаем Константы

#define Host "127.0.0.1"
#define User "root" // это если вы используете Denwer. Если хостинг указываете другого пользователя.
#define DataBase "urok"
#define Password_SQL ""//Если вы на хостинге ставите пароль,для Denwer пароль не требуется, чуть позже скажу как его установить

Все, теперь переходим в public OnGameModeInit()

public OnGameModeInit()
{
    dbHandle = mysql_connect(Host,User,DataBase,Password_SQL); // приравниваем нашу переменную с ИД подключением к коннекту к базе данных. Извиняюсь если коряво обьяснил. Это для R39
    return 1;
}

Для R41

public OnGameModeInit()
{
    dbHandle = mysql_connect(Host,User,Password_SQL,DataBase);// В R41 поменялись местами Пароль и База
    return 1;
}

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

Делаем все там же в public OnGameModeInit()

public OnGameModeInit()
{
    dbHandle = mysql_connect(Host,User,DataBase,Password_SQL);
    if(mysql_errno())
    {
        printf("Подключение к базе данных %s не удалось.",DataBase); // %s означает строку. То есть будет выводить название базы данных которое указано в #define DataBase
    }
    else
    {
        printf("Подключение к базе данных %s успешно",DataBase);
    }
    return 1;
}

Все, с этим закончили. Остался последний этап, это отключение базы данных когда мод выключается.

Идем в паблик OnGameModeExit()

public OnGameModeExit()
{
    mysql_close(dbHandle);
    return 1;
}

Все. База данных подключена.

Чтобы скачать Denwer жмите сюды: плямп

Для установки можете перейти по этой ссылке: УСТАНОВКА

Отредактировано пользователем Antoxa39

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • divinez
    • Daf
      От Daf
      Здравствуйте, сливаю вам cef спидометр! 
      Автор: я
       
      pawn код
      CEF. Создайте текстовый файл с любым названием, но добавьте расширение .html. Затем вставьте в него код, который приведен ниже.
      отдельно индикаторы
      cef_execute_js(playerid, browser, "samp.updateIndicators({left: 0, right: 1, highbeam: 0})"); cef_execute_js(playerid, browser, "samp.updateIndicators({left: 0, right: 1, highbeam: 0})");  
    • снайк
      От снайк
      Приветствую!
       
      Создаю свой сервер CR:MP (карта КР на клиенте SA:MP 0.3.7-R3). Столкнулся с критической проблемой: при въезде в г. Южный игра зависает намертво на одном и том же месте.
       
      Картинка застывает, звук двигателя зацикливается и проигрывается бесконечно. Помогает только жесткая перезагрузка ПК через кнопку питания. Происходит как на скорости, так и при медленной езде.
       
      Что уже установлено и настроено:
      1. Fastman92 Limit Adjuster 7.6 -  Streaming Memory = 1024 (пробовал и 512)
      ColModels = 30000
      Buildings = 30000
      Vehicle Models = 500
      Register global expection handler = 1 (но лог исключения не создается, игра просто виснет).
      2. Silent Patch 1.1 — стоит.
      3. Streamer Plugin на сервере — подключен и работает.
       
      Лог FLA (Последние строки перед фризом):
      Streaming memory available limit set to 1073741824 bytes (1024 MB)
      SPECIAL: Disable CINFO.BIN and MINFO.BIN loading
      Number of memory changes made: 4
       
       
      Понимаю, что Южный — тяжелая локация, но почему даже с расширенными лимитами происходит мертвый фриз без лога ошибки? Может ли это быть связано с кривыми коллизиями, путями (nodes) или конкретными тяжелыми текстурами в этой области? Какие еще лимиты в .ini стоит подкрутить? И как вообще пофиксить это.
       
      Заранее спасибо.