PHP:
new Handle:g_hDb = INVALID_HANDLE;
public OnPluginStart()
{
db_setupDatabase("BD");
}
public db_setupDatabase(String:name_bd[])
{
new String:szError[255];
if(SQL_CheckConfig(name_bd)) //чекаешь есть ли с таким назанием базы в database.cfg
{
PrintToServer("Внешняя БД");
SQL_TConnect(ConnectSQLCallback, name_bd); // Внешний коннект к phpmyadmin
}
else
{
g_hDb = SQLite_UseDatabase(name_bd, szError, sizeof(szError)); //Локальная база хранится в папке data сама создается!
}
}
public ConnectSQLCallback(Handle:owner, Handle:hndl, const String:error[], any:data)
{
if (hndl == INVALID_HANDLE)
{
PrintToServer("[TEST] ConnectSQL: Connection to SQL database has failed, Reason: %s", error);
return -1;
}
PrintToServer("[TEST] Successfully connected to database");
g_hDb = CloneHandle(hndl);
return 1;
}
Вот крайне простой код который просто подключается к базе и уведомляет об этом в консоли. Есть сервер на хосте (майарена) и сервер на ПК. database.cfg на хосте и на ПК одинаковый:
PHP:
....
"BD"
{
"driver" "mysql"
"host" "db1.myarena.ru"
"database" "base"
"user" "user"
"pass" "se32df1100"
"port" "3306"
}
....
ПК - есть внешний IP, порты открыты.
--- Добавлено позже ---
Вот что пишет на ПК(