SAMP-MySQL



  English Page

SAMP-MySQL est un plugin pour sa:mp v0.3 permettant l'accès à un serveur MySQL.
Ce plugin est livré gratuitement avec les codes sources.
Vous êtes libre de l'utiliser afin de créer un serveur.
Si vous souhaitez participer au développement de ce plugin ou adresser des suggestions, vous pouvez contacter son créateur directement sur le forum officiel de SA:MP :
http://forum.sa-mp.com/index.php?topic=23931.0

Télécharger
  • Dernière version: SAMP-MySQL v0.15 Pawn Kit (mirror)

  • Cette version contient: Le fichier .inc pour Le compilateur PAWN et le code source d'un script d'exemple.

  • Dernière version: SAMP-MySQL v0.15 Windows (mirror)

  • Cette version contient: Le dll Windows et le code source pour Windows.

  • Dernière version: SAMP-MySQL v0.15 Ubuntu et les debian-based linux (mirror)

  • Cette version contient: le .so pour Ubuntu, libmysqlclient.so pour Ubuntu et le code source.

  • Dernière version: SAMP-MySQL v0.15 Centos et les RedHat-based linux (mirror)

  • Cette version contient: le .so pour CentOs, libmysqlclient.so pour CentOs et le code source.

    Index des fonctions
  • samp_mysql_connect()

  • samp_mysql_select_db()

  • samp_mysql_query()

  • samp_mysql_store_result()

  • samp_mysql_fetch_row()

  • samp_mysql_get_field()

  • samp_mysql_num_rows()

  • samp_mysql_num_fields()

  • samp_mysql_ping()

  • samp_mysql_real_escape_string()

  • samp_mysql_free_result()

  • samp_mysql_strtok()

  • samp_mysql_close()



  • Cette fonction permet de se connecter à un serveur de base de données. C'est la première fonction à appeler: elle initialise le module et établit la connexion.
    Entrées:
  • server: c'est l'adresse IP du serveur.

  • user: c'est le nom d'utilisateur permettant d'avoir accès aux base de données.

  • password: c'est le mot de passe correspondant à l'utilisateur.

  • Sortie:
  • 0: si la connexion a échouée.

  • 1: en cas de succès.

  • Exemple:

    ...
    samp_mysql_connect("127.0.0.1", "root", "");
    ...
    Cette fonction permet de sélectionner la base de données avec laquelle on désire travailler.
    Entrées:
  • db: c'est le nom de la base de données.

  • Sortie:
  • 0: en cas d'échec.

  • 1: en cas de succès.

  • Exemple:

    ...
    samp_mysql_select_db("test");
    ...
    Cette fonction permet d'exécuter tout types de requêtes: SELECT, INSERT, UPDATE, DELETE, DROP, ALTER,...
    Entrées:
  • query: c'est la requête que l'on souhaite exécuter.

  • Sortie:
  • 0: en cas d'échec.

  • 1: en cas de succès.

  • Exemple:

    ...
    samp_mysql_query("SELECT * FROM users");
    ...
    Cette fonction permet de préparer le résultat d'une requête. Elle ne doit être appelée que si la requête renvoie un résultat: requête de type SELECT.
    Entrées:
  • Aucunes

  • Sortie:
  • 0: en cas d'échec.

  • 1: en cas de succès.

  • Exemple:

    ...
    samp_mysql_store_result();
    ...
    Cette fonction permet de récupérer une ligne de résultat.
    Entrées:
  • line: c'est la variable dans laquelle une ligne de résultat sera retournée.

  • Sortie:
  • line: renvoie une ligne de résultat: les champs sont séparés par '|'. Ex: "1|toto|mypassword|toto@toto.com"

  • 0: lorsqu'il n'y a plus de lignes de résultat à récupérer.

  • 1: en cas de succès.

  • Exemple:

    ...
    new line[1024];
    samp_mysql_fetch_row(line);
    ...
    Cette fonction permet de récupérer la valeur d'un champ donné.
    Cette fonction doit être appelée après after samp_mysql_fetch_row() !
    Entrées:
  • field: c'est le nom du champ.

  • value: c'est la variable dans laquelle la valeur du champ sera retournée.

  • Sortie:
  • value: retourne la valuer du champs: si le champ est à NULL (valeur SQL) une chaine "NULL" sera retournée. Si le champs est vide, une chaine vide est retournée.

  • 0: Rien n'a été trouvé (peut-être que le champ n'a pas été bien écris).

  • 1: Si quelquechose a été trouvé..

  • Exemple:

    ...
    new line[1024];
    new fieldvalue[128];
    samp_mysql_fetch_row(line);
    samp_mysql_get_field("user_name", field);
    printf("%s ", field);
    ...
    Cette fonction renvoie le nombre de lignes de résultat.
    Entrées:
  • aucunes
  • Sortie:
  • int: le nombre de lignes de résultats.

  • Exemple:

    ...
    new num_line;
    num_line=samp_mysql_num_rows();
    ...
    Cette fonction renvoie le nombre de colonne de résultat.
    Entrées:
  • aucunes

  • Sortie:
  • int: le nombre de colonnes de résultats.

  • Exemple:

    ...
    new num_columns;
    num_columns=samp_mysql_num_fields();
    ...
    Cette fonction permet de vérifier l'état de la connexion à la base de données et de se reconnecter en cas de besoin.
    Entrées:
  • aucunes

  • Sortie:
  • 0: en cas de succès.

  • 1: si le serveur n'est pas contactable (connexion perdu).

  • 2: erreur inconnue.

  • Exemple:

    ...
    if(samp_mysql_ping()==0)
    {
    printf("Connection to database is alive ! ");
    }
    ...


    Cette fonction permet de préparer une chaine de caractère (déspécialise les charactère spéciaux).
    Entrées:
  • src: chaine source.

  • dest: chaine destiniation. La longueur de dest doit être src_longueur*2+1

  • Sortie:
  • int: longueur de la chaine traitée.

  • Exemple:

    ...
    new src[128];
    new dest[257];
    //put something in src...
    samp_mysql_real_escape_string(src, dest);
    ...


    This function permet de libérer la mémoire allouée à un résultat d'une requête.
    Entrées:
  • aucunes

  • Sortie:
  • 1: retourne toujours 1.

  • Exemple:

    ...
    samp_mysql_free_result();
    ...


    Cette fonction permet de découper une chaine de caractères de la même manière que la fonction strtok() en C.
    Entrées:
  • dest: chaine destination (une partie de la chaine source).

  • separator: délimiteur avec lequel le découpage se fait.

  • src: chaine source. Ne doit être passée que lors du premier appel de la fonction.

  • "": chaine source. Ne doit être passée qu'à partir du ème appel de la fonction.

  • Sortie:
  • 0: Si c'est la fin de la chaine source. Appeler une nouvelle fois la fonction fait crasher le serveur.

  • 1: en cas de retour d'une "sous-chaine".

  • Exemple:

    ...
    new resultline[1024];
    new field[128];
    ...
    samp_mysql_fetch_row(resultline);
    samp_mysql_strtok(field, "|", resultline); //first call of strtok MUST contain resultline
    printf("%s ", field);
    while(samp_mysql_strtok(field, "|", "")==1) //From 2nd call to the end you MUST call strtok without resultline
    {
       printf("%s ", field);
    }
    ...


    Cette fonction permet de fermer la connexion au serveur.
    Entrées:
  • aucunes

  • Sortie:
  • 0: en cas d'échec.

  • 1: en cas de succès.

  • Exemple:

    ...
    samp_mysql_close();
    ...