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 ( object link, string escapestr)
Style orienté objet (méthode)
class
mysqli {
string
real_escape_sring ( string escapestr)
}
mysqli_real_escape_string() est utilisé 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é en une chaîne SQL échappé, en tenant compte
du jeu de caractères courant de la connexion.
Les caractères encodés sont NUL (ASCII 0), \n, \r, \, ', ", and Control-Z.
Valeurs de retour
Retourne une chaîne é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("Echec 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é.\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("Echec 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("Error: %s\n", mysqli_sqlstate($link)); }
$city = mysqli_real_escape_string($link, $city);
/* this query with escaped $city will work */ if (mysqli_query($link, "INSERT into myCity (Name) VALUES ('$city')")) { printf("%d ligne inséré.\n", mysqli_affected_rows($link)); }
mysqli_close($link); ?>
|
|
L'exemple ci-dessus va afficher :
Erreur : 42000
1 ligne inséré. |