Для подключения БД вам понадобятся программы:
Denwer (для использования локальной бд)
MySQL R41-4 (plugin + include)
И ваш сервер (предусматривается подключение с 0)
Для начала нужно создать переменную типа MySQL, для подключения, я её называю всегда dbHandle (мне так удобнее называть, можете придумать своё название)
Переменную мы создаём в будущем для использования MySQL, чтобы не писать постоянно строку mysql_connect(параметры)
new MySQL:dbHandle;
Теперь создадим дефайны подключения к БД.
Их я делаю для того чтобы не искать функцию, а изменить в самом начале мода сразу.
Ко всем дефайнам:
//если на локалке #define MYSQL_HOST "localhost" #define MYSQL_USER "root" #define MYSQL_PASS "" #define MYSQL_BASE "название вашей базы данных в MySQL" //если вы используете хостинг, то вам необходимо взять хост, юзера, пароль оттуда, а название базы вы придумаете там сами
После того как мы создали дефайны где написали данные от MySQL, нам необходимо сделать сток подключения MySQL, а также его логов.
Там где у вас все стоки:
stock ConnectMySQL() { dbHandle = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS, MYSQL_BASE);//присваеваем dbHandle функцию. switch(mysql_errno()) { case 0: print("MySQL успешно подключён.");//если бд подключена - mysql возвращает 0, и пишем что бд подключена default: print("MySQL не подключился. Проверьте базу данных!"); //если возвращает что-то кроме 0, пишет данное сообщение в консоль /*если какие-то ошибки есть, mysql возвращает код ошибки, если вам удобнее, можете сделать так чтобы возвращал код ошибки case 1044: print("Подключение к базе данных не удалось [Указано неизвестное имя пользователя]"); case 1045: print("Подключение к базе данных не удалось [Указан неизвестный пароль]"); case 1049: print("Подключение к базе данных не удалось [Указана неизвестная база данных]"); case 2003: print("Подключение к базе данных не удалось [Доступ к базе данных отклонён (проблемы с хостингом)]"); case 2005: print("Подключение к базе данных не удалось [Указан неизвестный адрес]"); default: printf("Подключение к базе данных не удалось [Неизвестная ошибка. Код ошибки: %d]", mysql_errno());*/ } mysql_log(ALL); //я поставил чтобы функция логировала каждое действие, если вам не интересно, можете сделать mysql_log(ERROR | WARNING); для логирования только ошибок и варнингов mysql_set_charset("cp1251");//ставим кодировку cp1251, она лучше всего работает с русс. языком. }
Теперь нам только осталось подключить MySQL к базе данных при включении мода.
В public OnGameModeInit
ConnectMySQL();
Моё первое готовое решение, до этого вылаживал только небольшую команду.