mysqli_real_escape_string

(PHP 5)

mysqli_real_escape_string

(no version information, might be only in CVS)

mysqli->real_escape_string --  Protege caracteres especiales en una cadena para ser usada en una sentencia SQL, tomando en cuenta el conjunto de caracteres para la conexión

Descripción

Estilo por procedimientos:

cadena mysqli_real_escape_string ( mysqli identificador_de_enlace, cadena escapestr )

Estilo orientado a objetos (método):

class mysqli {

cadena real_escape_string ( cadena escapestr )

}

Esta función es usada para crear una cadena SQL legal que se puede usar en una sentencia SQL. La cadena escapestr está codificada para una cadena SQL protegida, tomando en cuenta el conjunto de caracteres actual para la conexión.

Los caracteres codificados son NUL (ASCII 0), \n, \r, \, ', ", y Control-Z.

Valores retornados

Regresa una cadena protegida.

Ver también

mysqli_character_set_name().

Ejemplos

Ejemplo 1. Estilo orientado a objetos

<?php
$mysqli
= new mysqli("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    
printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

$mysqli->query("CREATE TEMPORARY TABLE myCity LIKE City");

$city = "'s Hertogenbosch";

/* this query will fail, cause we didn't escape $city */
if (!$mysqli->query("INSERT into myCity (Name) VALUES ('$city')")) {
    
printf("Error: %s\n", $mysqli->sqlstate);
}

$city = $mysqli->real_escape_string($city);

/* this query with escaped $city will work */
if ($mysqli->query("INSERT into myCity (Name) VALUES ('$city')")) {
    
printf("%d Row inserted.\n", $mysqli->affected_rows);
}

$mysqli->close();
?>

Ejemplo 2. Estilo por procedimientos

<?php
$link
= mysqli_connect("localhost", "my_user", "my_password", "world");

/* check connection */
if (mysqli_connect_errno()) {
    
printf("Connect failed: %s\n", mysqli_connect_error());
    exit();
}

mysqli_query($link, "CREATE TEMPORARY TABLE myCity LIKE City");

$city = "'s Hertogenbosch";

/* this query will fail, cause we didn't escape $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 Row inserted.\n", mysqli_affected_rows($link));
}

mysqli_close($link);
?>

El resultado del ejemplo seria:

Error: 42000
1 Row inserted.

Hosting by: hurra.com
Generated: 2007-01-26 18:01:03