unsigned long mysql_real_escape_string(MYSQL *mysql,
          char *en, const char *de, unsigned long longueur)
        
Description
Cette fonction est utilisée pour créer une requête SQL légale que vous pouvez utiliser dans une commande SQL. See Section 9.1.1, « Chaînes ».
          La string dans de est encodée en chaîne
          échappé SQL, prenom en compte le jeu de caractères de la
          connexion. Le résultat est placé dans en
          et un octet nul de terminaison est ajouté à la fin de
          celui-ci. Les caractères encodés sont NUL
          (ASCII 0), ‘\n’,
          ‘\r’,
          ‘\’,
          ‘'’,
          ‘"’, et Ctrl-Z (see
          Section 9.1, « Littéraux : comment écrire les chaînes et les nombres »). (En fait, MySQL a seulement
          besoin que l'anti-slash et le guillemet utilisé pour entourer
          la chaîne soient échappés. Cette fonction échappe les
          autre caractères pour les rendre plus facile à lire dans les
          fichiers de log.)
        
          La chaîne pointée par de doit avoir une
          taille de longueur octets. Vous devez
          allouer à l'espace de en au moins
          longueur*2+1 octets. (Dans le pire des cas,
          chaque caractère devra être encodé en utilisant deux
          octets, et vous avez besoin de place pour l'octet nul de
          terminaison.) Lorsque mysql_escape_string()
          retourne un résultat, le contenu de en
          sera une chaîne terminée par un caractère nul. La valeur de
          retour est la longueur de la chaîne encodée, n'incluant pas
          le caractère nul de terminaison.
        
Exemple
char query[1000],*end;
end = strmov(query,"INSERT INTO test_table values(");
*end++ = '\'';
end += mysql_real_escape_string(&mysql, end,"C'est quoi ¸a",11);
*end++ = '\'';
*end++ = ',';
*end++ = '\'';
end += mysql_real_escape_string(&mysql, end,"donnée binaire : \0\r\n",16);
*end++ = '\'';
*end++ = ')';
if (mysql_real_query(&mysql,query,(unsigned int) (end - query)))
{
   fprintf(stderr, "Impossible d'insérer la ligne, erreur : %s\n",
           mysql_error(&mysql));
}
          La fonction strmov() utilisée dans cet
          exemple est inclue dans la bibliothèque
          mysqlclient et fonctionne comme
          strcpy() mais retourne un pointeur sur le
          nul de fin du premier paramètre.
        
Valeur de retour
          La longueur de la valeur passée dans to,
          n'incluant pas la caractère nul de fin de chaîne.
        
Erreurs
Aucune.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.
