Estilo orientado a objetos
<?php
$mysqli = new mysqli("localhost", "mi_usuario", "mi_contraseña", "world");
/* verificar la conexión */
if (mysqli_connect_errno()) {
printf("Falló la conexión: %s\n", mysqli_connect_error());
exit();
}
$mysqli->query("CREATE TEMPORARY TABLE miCiudad LIKE City");
$ciudad = "'s Hertogenbosch";
/* esta consulta fallará debido a que no escapa $ciudad */
if (!$mysqli->query("INSERT into miCiudad (Name) VALUES ('$ciudad')")) {
printf("Error: %s\n", $mysqli->sqlstate);
}
$ciudad = $mysqli->real_escape_string($ciudad);
/* esta consulta con $ciudad escapada funcionará */
if ($mysqli->query("INSERT into miCiudad (Name) VALUES ('$ciudad')")) {
printf("%d fila insertada.\n", $mysqli->affected_rows);
}
$mysqli->close();
?>
Estilo por procedimientos
<?php
$enlace = mysqli_connect("localhost", "mi_usuario", "mi_contraseña", "world");
/* verificar la conexión */
if (mysqli_connect_errno()) {
printf("Falló la conexión: %s\n", mysqli_connect_error());
exit();
}
mysqli_query($enlace, "CREATE TEMPORARY TABLE miCiudad LIKE City");
$ciudad = "'s Hertogenbosch";
/* esta consulta fallará debido a que no escapa $ciudad */
if (!mysqli_query($enlace, "INSERT into miCiudad (Name) VALUES ('$ciudad')")) {
printf("Error: %s\n", mysqli_sqlstate($enlace));
}
$ciudad = mysqli_real_escape_string($enlace, $ciudad);
/* esta consulta con $ciudad escapada funcionará */
if (mysqli_query($enlace, "INSERT into miCiudad (Name) VALUES ('$ciudad')")) {
printf("%d fila insertada.\n", mysqli_affected_rows($enlace));
}
mysqli_close($enlace);
?>
El resultado de los ejemplos sería:
Error: 42000
1 fila insertada.