PHP код:
/*
Загрузка данных из '../scriptfiles/mysql_settings.txt' для подключения с базой данных
(C) Copyright 2015, Untonyst =3
Пример содержимого файла mysql_settings.txt:
localhost,tensa,123qwe,base
хост, имя пользователя, пароль, имя базы данных
Аля большой костыль!
*/
// если нет инклуда a_mysql.inc, то исключим НАШ инклуд на стадии компиляции
#if !defined mysql_included
//#error File a_mysql.inc is not included
#endinput
#endif
// если нет инклуда sscanf2.inc, то исключим НАШ инклуд на стадии компиляции
#if !defined sscanf
//#error File sscanf2.inc is not included
#endinput
#endif
// настройки подключения по умолчанию, если файла настроек не обнаружено
#define DEFAUL_MYSQL_HOST "127.0.0.1"
#define DEFAUL_MYSQL_USER "root"
#define DEFAUL_MYSQL_PASSWORD ""
#define DEFAUL_MYSQL_DATABASE "base"
// id подключения
new cHandle;
public OnGameModeInit()
// подключение соединения с базой данных при старте сервера
{
new File:file_handle = fopen("mysql_settings.txt", io_read), buf[20*4+1], mysql_host[20], mysql_user[20], mysql_password[20], mysql_database[20];
if (!fexist("mysql_settings.txt"))
// если файла настроек нет, то используем данные по умолчанию
{
mysql_host = DEFAUL_MYSQL_HOST;
mysql_user = DEFAUL_MYSQL_USER;
mysql_password = DEFAUL_MYSQL_PASSWORD;
mysql_database = DEFAUL_MYSQL_DATABASE;
}
else
{
fread(file_handle, buf);
sscanf(buf, "p<,>s[20]s[20]s[20]s[20]", mysql_host, mysql_user, mysql_password, mysql_database);
fclose(file_handle);
// это так, для сведения
printf("===============\nХост: %s\nПользователь: %s\nПароль: %s\nБД: %s\n===============\n\n",mysql_host, mysql_user, mysql_password, mysql_database);
}
cHandle = mysql_connect(mysql_host, mysql_user, mysql_database, mysql_password);
if(mysql_errno())
print("[MySQL] Связь с базой данных не установлена\n* Проверьте введенные вами данные\n\n");
else
print("[MySQL] Связь с базой данных установлена\n\n");
#if defined MySQL__OnGameModeInit
MySQL__OnGameModeInit();
return 1;
#endif
}
#if defined _ALS_OnGameModeInit
#undef OnGameModeInit
#else
#define _ALS_OnGameModeInit
#endif
#define OnGameModeInit MySQL__OnGameModeInit
#if defined MySQL__OnGameModeInit
forward MySQL__OnGameModeInit();
#endif
public OnGameModeExit()
// отключение соединения с базой данных при рестарте сервера
{
mysql_close(cHandle);
print("[MySQL] Связь с базой данных была отключена\nИдет подключение ...\n\n");
#if defined MySQL__OnGameModeExit
MySQL__OnGameModeExit();
return 1;
#endif
}
#if defined _ALS_OnGameModeExit
#undef OnGameModeExit
#else
#define _ALS_OnGameModeExit
#endif
#define OnGameModeExit MySQL__OnGameModeExit
#if defined MySQL__OnGameModeExit
forward MySQL__OnGameModeExit();
#endif