Manuel PHP
Précédent |  | Suivant

# mysqli_real_escape_string

(PHP 5)

mysqli_real_escape_string

(no version information, might be only in CVS)

mysqli->real_escape_string() -- Protège les caractères spéciaux d'une chaîne pour l'utiliser dans une requête SQL, en prenant en compte le jeu de caractères courant de la connexion

## Description

Style procédural

string mysqli_real_escape_string ( mysqli link, string escapestr )

Style orienté objet (méthode)

class mysqli {
string escape_string ( string escapestr )
string real_escape_string ( string escapestr )
}

Cette fonction est utilisée pour créer une chaîne SQL valide qui pourra être utilisée dans une requête SQL. La chaîne de caractères `escapestr` est encodée en une chaîne SQL échappée, en tenant compte du jeu de caractères courant de la connexion.

## Liste de paramètres

`link`

  Style procédural uniquement : Un identifiant de lien retourné par la fonction mysqli_connect() ou par la fonction mysqli_init()

`escapestr`

  La chaîne de caractères à échapper.

  CLes caractères encodés sont `NUL (ASCII 0), \n, \r, \, ', ", and Control-Z`.

## Valeurs de retour

Retourne une chaîne de caractères échappée.

## Exemples

Exemple 1. Style orienté objet

`<?php
$mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* Vérification de la connexion */
if (mysqli_connect_errno()) {
printf("Échec de la connexion : %s\n", mysqli_connect_error());
exit();
}
$mysqli->query("CREATE TEMPORARY TABLE myCity LIKE City");
$city = "'s Hertogenbosch";
/* Cette requête échoue car nous n'avons pas échappé $city */
if (!$mysqli->query("INSERT into myCity (Name) VALUES ('$city')")) {
printf("Erreur : %s\n", $mysqli->sqlstate);
}
$city = $mysqli->real_escape_string($city);
/* Cette requête, par contre, réussira car nous avons échappé $city */
if ($mysqli->query("INSERT into myCity (Name) VALUES ('$city')")) {
printf("%d ligne insérée.\n", $mysqli->affected_rows);
}
$mysqli->close();
?>`

Exemple 2. Style procédural

`<?php
$link = mysqli_connect("localhost", "my_user", "my_password", "world");
/* Vérification de la connexion */
if (mysqli_connect_errno()) {
printf("Échec de la connexion : %s\n", mysqli_connect_error());
exit();
}
mysqli_query($link, "CREATE TEMPORARY TABLE myCity LIKE City");
$city = "'s Hertogenbosch";
/* Cette requête échoue car nous n'avons pas échappé $city */
if (!mysqli_query($link, "INSERT into myCity (Name) VALUES ('$city')")) {
printf("Erreur : %s\n", mysqli_sqlstate($link));
}
$city = mysqli_real_escape_string($link, $city);
/* Cette requête réussira car nous avons échappé $city */
if (mysqli_query($link, "INSERT into myCity (Name) VALUES ('$city')")) {
printf("%d ligne insérée.\n", mysqli_affected_rows($link));
}
mysqli_close($link);
?>`

L'exemple ci-dessus va afficher :

    Erreur : 42000
    1 ligne insérée.

## Voir aussi

mysqli_character_set_name()

Précédent | Sommaire | Suivant
mysqli_real_connect | Niveau supérieur | mysqli_real_query