mysqli_real_escape_string,

(PHP 5)

mysqli_real_escape_string, 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 1693. 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 1694. 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()