Comunidad de diseño web y desarrollo en internet online

pasar comillas por post y pasarla a mysql_query

Citar            
MensajeEscrito el 09 May 2008 05:22 pm
Hola nuevamente..

Estoy pasando por POST una variable llamada query, con la siguiente query de prueba,
SELECT nombre FROM myTABLA WHERE nombre=\'Zandy\'\'Flaser\', cuando en el .php que recibe esta variable le hago el stripslashes y se lo paso a mysql_query da error.. me da sql query failed, ... como puedo resolver este tema de las comillas simples dentro de una cadena para que no me trunque un cadena y ademas me sirva para pasarselo a mysql_query sin problemas.

salu2

Por Zandy

Claber

1345 de clabLevel

5 tutoriales

Genero:Masculino   Premio_Secretos

firefox
Citar            
MensajeEscrito el 09 May 2008 05:59 pm
Saludos Zandy, ¿Has probado de pasar las comillas a &#39?

&#39 sería el ascii para la comilla simple. Entonces solo quedaría por hacer:

str_replace("'",'&#39',$query);

Cuando se muestra el resultado por pantalla, te mostrará la comilla...

Exitos.

Por Necrophasto

Claber

148 de clabLevel



Genero:Masculino  

Diseñador gráfico y web

opera
Citar            
MensajeEscrito el 09 May 2008 07:38 pm
hola Necrophasto...
Me sigue truncando los datos, por ejemplo , si y pongo esto, " SELECT nombre FROM myTABLA WHERE nombre='Zandy' " no da errores (poniendolo fijo), [fijate en las comillas dobles de afuera] Ahora si pongo lo mismo pero entre comillas simples da error, trunca la cadena y eso es lo que esta pasando.... y al vnir la cadena completa por POST no se como hacer para que las comillas externas sean dobles y no sencillas por omision...
:oops::oops::oops::oops::oops::oops::oops:
gracias por responder.

Por Zandy

Claber

1345 de clabLevel

5 tutoriales

Genero:Masculino   Premio_Secretos

firefox
Citar            
MensajeEscrito el 10 May 2008 12:12 am
Ah... por que cuando utilizas comillas dobles por fuera, por dentro utilizas simple... y viceversa...

" SELECT nombre FROM myTABLA WHERE nombre='Zandy' "

ó

' SELECT nombre FROM myTABLA WHERE nombre="Zandy" '

Por Necrophasto

Claber

148 de clabLevel



Genero:Masculino  

Diseñador gráfico y web

opera
Citar            
MensajeEscrito el 12 May 2008 06:23 pm
Q tal si intentas hacer esto.

Código :

\' SELECT nombre FROM myTABLA WHERE nombre=\"Zan\"dy\" \'

O

Código :

\" SELECT nombre FROM myTABLA WHERE nombre=\'Zan\'dy\' \"

:?

Por Zandy

Claber

1345 de clabLevel

5 tutoriales

Genero:Masculino   Premio_Secretos

firefox
Citar            
MensajeEscrito el 12 May 2008 06:31 pm
Te cortará el string o simplemente arrojará un error (que es lo más probable), si quieres insertar comillas dentro de un campo, deberás traducirlo en ascii.

Es decir que:
'SELECT nombre FROM myTabla WHERE nombre=" Zan"dy " '

... ahora será:
'SELECT nombre FROM myTabla WHERE nombre=" Zan"dy" '

Por Necrophasto

Claber

148 de clabLevel



Genero:Masculino  

Diseñador gráfico y web

opera
Citar            
MensajeEscrito el 12 May 2008 07:31 pm
Cual es el ascci, pues, parece que al insertar el post, te lo ah convertido automaticamente... :-)
salu2

Por Zandy

Claber

1345 de clabLevel

5 tutoriales

Genero:Masculino   Premio_Secretos

firefox
Citar            
MensajeEscrito el 12 May 2008 07:42 pm
xD no lo había chequeado. El asccii sería & # 34; (todo junto xD) para las comillas dobles, y para las comillas simples & # 39;

Saludos

Por Necrophasto

Claber

148 de clabLevel



Genero:Masculino  

Diseñador gráfico y web

opera
Citar            
MensajeEscrito el 12 May 2008 08:15 pm
Necrophasto, no se realmente que estare haciendo mal , pero me sigue truncando, aun cuando sustituyo las comillas por el codigo que me pasaste..... :cry: :cry: :cry:
gracias por responder.! (y)

Por Zandy

Claber

1345 de clabLevel

5 tutoriales

Genero:Masculino   Premio_Secretos

firefox
Citar            
MensajeEscrito el 12 May 2008 08:24 pm
¿Podrías postear la parte del código en cuestión?

Por Necrophasto

Claber

148 de clabLevel



Genero:Masculino  

Diseñador gráfico y web

opera
Citar            
MensajeEscrito el 12 May 2008 08:41 pm
Si, presisamente mi proximo post era eso... :-)
El problema es que tengo un formulario html con varios textInput y uno de ellos lo estoy validando cuando sale del foco.
este es el evento onBlur del textInput el cual estoy tratando de validar

Código :

validarCampo_enBD(\'SELECT nombre FROM TBL_E WHERE nombre=\\ \'\'+Apos(this.value)+\' \\ \'\',this,\'retroNombre\',\'editForm\')

Los \\ estan separados para que no se sustituyan, en cuanto a la funcion validarCampo_enBD, es una funcion ajavascript que mediante AJAX hace una peticion a un fichero .php que es el que ejecuta la query para ver si ese valor existe en la BD.

al .php la query llega de esta manera

Código :

SELECT nombre FROM TBL_E WHERE nombre = \\ \' nuevo \\ \' \\ \' sandy \\ \'

A esa query ya le he hecho de todo, pero no eh tenido exito.. el resto del codigo, es el tipico, una conexion a una bd mysql , mysql_query... etc...

[Nota: salen slashes de mas , parece que phpBB los pone.]
salu2 :-)

Por Zandy

Claber

1345 de clabLevel

5 tutoriales

Genero:Masculino   Premio_Secretos

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.