He creado para mi sitio web un formulario de registro, y para prevenir inyecciones y también para que los usuarios puedan poner nombres y apellidos con acentos y letras 'ñ' , a los value les agrege la funcion mysql_real_escape_string.
Procedo a mostrarles:
Código PHP:
$insertSQL = sprintf("INSERT INTO usuarios (usuario, password, nombre, apellido, email, nacimiento, genero, pais, monedas, trabajo, mision, inicio) VALUES (mysql_real_escape_string(%s), mysql_real_escape_string(%s), mysql_real_escape_string(%s), mysql_real_escape_string(%s), mysql_real_escape_string(%s), mysql_real_escape_string(%s), mysql_real_escape_string(%s), mysql_real_escape_string(%s), mysql_real_escape_string(%s), mysql_real_escape_string(%s), mysql_real_escape_string(%s), mysql_real_escape_string(%s))",
GetSQLValueString($_POST['usuario2'], "text"),
GetSQLValueString($_POST['password'], "text"),
GetSQLValueString($_POST['nombre'], "text"),
GetSQLValueString($_POST['apellido'], "text"),
GetSQLValueString($_POST['email'], "text"),
GetSQLValueString($_POST['nacimiento'], "date"),
GetSQLValueString($_POST['genero'], "text"),
GetSQLValueString($_POST['pais'], "text"),
GetSQLValueString($_POST['monedas'], "text"),
GetSQLValueString($_POST['trabajo'], "text"),
GetSQLValueString($_POST['mision'], "text"),
GetSQLValueString($_POST['inicio'], "date"));
Cita:
(Mi base de datos se llama a3415502_general)FUNCTION a3415502_general.mysql_real_escape_string does not exist
¿Alguien sabe por qué me sucede eso? ¿Hay manera de solucionarlo?
¡Gracias!