• 18 Avril 2025, 10:32:33


Auteur Sujet: Problème requête SQL  (Lu 5627 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : Problème requête SQL
« Réponse #15 le: 07 Mai 2014, 12:43:59 »
Les dernières versions sont faites pour le multi-threading.

"NOTE: DON'T USE VERSION R7 OR ABOVE IF YOU HAVE NO IDEA WHAT THREADING MEANS OR HOW IT WORKS. YOU MIGHT HARM YOUR SERVER WHEN USING IT NOT PROPERLY."


Utilise la version R6, ça marchera mieux.

http://forum.sa-mp.com/showthread.php?t=56564



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne Jcvag44800

  • *
  • Grand Banditisme
  • Messages: 616
    • Voir le profil
Re : Problème requête SQL
« Réponse #16 le: 07 Mai 2014, 15:14:22 »
Ca marche merci ;)

Mais je dois être chiant...
Voici mon code:

Code: (pawn) [Sélectionner]
#define MYSQL_HOST "localhost"
#define MYSQL_USER "root"
#define MYSQL_PASS ""
#define MYSQL_DB   "larp2"


forward MySQLConnect(sqlhost[], sqluser[],  sqldb[], sqlpass[]);

MySQLConnect(MYSQL_HOST,MYSQL_USER,MYSQL_DB,MYSQL_PASS);

public MySQLConnect(sqlhost[], sqluser[], sqldb[], sqlpass[])
{
print("Connexion à la base de données..."); // Connecting to the database
if(mysql_connect(sqlhost,sqluser,sqldb,sqlpass))
{
    print("Connexion à la base de données réussie."); // success
    return 1;
}
else
{
    print("Connexion à la base de données échouée."); // !success
    if(mysql_connect(sqlhost,sqluser,sqldb,sqlpass))
    {
        print("Connexion à la base de données rétablie."); // success
        return 1;
}
else
{
    print("Connexion à la base de données perdue. Le serveur est eteint."); // close server
    SendRconCommand("exit");
    return 0;
}
}
}

Et voici les logs:

Serveur SQL fermé:

[13:44:51] CMySQLHandler::CMySQLHandler() - constructor called.

[13:44:51] CMySQLHandler::CMySQLHandler() - Connecting to "localhost" | DB: "larp2" | Username: "root" ...

[13:44:52] CMySQLHandler::Connect() - Can't connect to MySQL server on 'localhost' (10061) (Error ID: 2003)


Serveur SQL ouvert:

[13:42:29] CMySQLHandler::CMySQLHandler() - constructor called.

[13:42:29] CMySQLHandler::CMySQLHandler() - Connecting to "localhost" | DB: "larp2" | Username: "root" ...

[13:42:29] CMySQLHandler::Connect() - Connection was successful.

[13:42:29] CMySQLHandler::Connect() - Auto-Reconnect has been enabled.

Le problème: que le serveur mysql soit ouvert ou fermé, mon GM dira toujours que la connexion a été établie.
Or, dans les logs ce n'est pas le cas...
Je ne vois pas où ça coince =(

Merci d'avance


Hors ligne Ssk

  • *
  • Lulu's Stunt - Le serveur stunt de Lulu !
  • Messages: 8154
    • Voir le profil
Re : Problème requête SQL
« Réponse #17 le: 07 Mai 2014, 16:00:02 »
Personnellement je fais comme ça


Code: (pawn) [Sélectionner]
forward ConnectToDatabase();
public ConnectToDatabase()
{
if(g_iMysqlConnection == 0)
{
g_iMysqlConnection = mysql_connect("localhost", "XXXXX", "XXXXX", "XXXXX");
}
else
{
mysql_reconnect(g_iMysqlConnection);
}

if(mysql_ping() == -1)
{
Error("Unable to connect to MySQL server.", 0);
Error("Retrying ...", 0);
SetTimer("ConnectToDatabase", 5000, 0);
}
else
{
Debug("Connected to MySQL server.", 0);
}
}



Derrière tout programme se cache un programmeur, je considère le monde comme un programme.
Mon blog

Hors ligne Jcvag44800

  • *
  • Grand Banditisme
  • Messages: 616
    • Voir le profil
Re : Problème requête SQL
« Réponse #18 le: 07 Mai 2014, 16:09:30 »
D'accord,

J'ai donc fait comme ça, et ça marche:

Code: (pawn) [Sélectionner]
public MySQLConnect(sqlhost[], sqluser[], sqldb[], sqlpass[])
{
        print("Connexion à la base de données..."); // Connecting to the database
        mysql_connect(sqlhost,sqluser,sqldb,sqlpass);
        if(mysql_ping() == -1)
        {
print("Connexion à la base de données échouée."); // !success
            if(mysql_ping() == -1)
            {
print("Connexion à la base de données perdue. Le serveur est eteint."); // close server
    SendRconCommand("exit");
                return 0;

            }
            else
            {
                print("Connexion à la base de données rétablie."); // success
                return 1;
            }

        }
        else
        {
            print("Connexion à la base de données réussie."); // success
            return 1;
        }
}


Hors ligne Infu

  • *
  • Modo LS - Admin FnF
  • Messages: 3551
    • Voir le profil
Re : Problème requête SQL
« Réponse #19 le: 07 Mai 2014, 18:10:41 »
Je comprends mieux pourquoi j'ai jamais réussi à m'en servir  :laugh:


Adju ♥
(-_-)