Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] mysqli_real_escape_string

Estas en el tema de mysqli_real_escape_string en el foro de PHP en Foros del Web. Buenas a todos, vengo con un problema que no consigo comprender por que no me funciona. Bien a la hora de insertar, lo tengo de ...
  #1 (permalink)  
Antiguo 21/05/2015, 08:35
Avatar de MaNuX0218  
Fecha de Ingreso: marzo-2014
Mensajes: 787
Antigüedad: 5 años, 8 meses
Puntos: 67
mysqli_real_escape_string

Buenas a todos, vengo con un problema que no consigo comprender por que no me funciona.

Bien a la hora de insertar, lo tengo de esta manera:

Código MySQL:
Ver original
  1. INSERT INTO tabla SET nombre = "' . mysqli_real_escape_string($nombre) . '"

Pero " mysqli_real_escape_string() " no me funciona correctamente, pero si lo quito si que me inserta correctamente, también me muestra este error:

Warning: mysqli_real_escape_string() expects exactly 2 parameters, 1 given in ... on line 156

Haber si pueden echarme una mano.

Saludos.
__________________
No te preocupes si tu código no funciona bien. Si todo lo hiciera, no tendrías trabajo.
  #2 (permalink)  
Antiguo 21/05/2015, 08:38
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.321
Antigüedad: 12 años
Puntos: 2653
Respuesta: mysqli_real_escape_string

mysqli_real_escape_string() es una función de la librería MYSQLI de PHP para acceso a MySQL, pero es tema de PHP, no de MySQL.

OFF TOPIC en MySQL.


Movido a PHP

Nota del manual de referencia:
Cita:
Nota:

Para quienes estén acostumbrados a usar mysql_real_escape_string(), se ha de observar que el argumento de mysqli_real_escape_string() difiere de lo que espera mysql_real_escape_string(). El identificador enlace va primero en mysqli_real_escape_string(), mientras que la cadena a escapar va primero en mysql_real_escape_string().
Te está faltando un parámetro, según el manual.
Por otor lado, ten en cuenta que el uso de esta función no refiere a caracteres extendidos (como las letras acentuadas), sino a klos caracteres especiales:

Cita:
Los caracters codifcados son NUL (ASCII 0), \n, \r, \, ', ", y Control-Z.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 21/05/2015 a las 08:44
  #3 (permalink)  
Antiguo 21/05/2015, 08:43
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 11 años, 8 meses
Puntos: 2534
Respuesta: mysqli_real_escape_string

Cita:
Warning: mysqli_real_escape_string() expects exactly 2 parameters, 1 given in ... on line 156
Bueno, el error no puede ser más obvio.

¿Ya consultaste el manual de mysqli_real_escape_string() para saber cómo es que debes utilizarlo?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 21/05/2015, 08:52
Avatar de MaNuX0218  
Fecha de Ingreso: marzo-2014
Mensajes: 787
Antigüedad: 5 años, 8 meses
Puntos: 67
Respuesta: mysqli_real_escape_string

Si en el manual supuestamente seria de esta manera:

mysqli_real_escape_string($conn, $string)

Pero aún asi me aparece el error pero ahora que me falta un parametro.
__________________
No te preocupes si tu código no funciona bien. Si todo lo hiciera, no tendrías trabajo.
  #5 (permalink)  
Antiguo 21/05/2015, 09:13
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.321
Antigüedad: 12 años
Puntos: 2653
Respuesta: mysqli_real_escape_string

POstea el codigo completo.
Hay que verificar por qué no toma el parámetro, si supuestamente se lo estás pasando...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Etiquetas: mysql, sql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:55.