FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Grabar cadena con comilla simple y back slash
Segun un estandar del SQL, si no me falla la memoria y no es un tema meramente de la programacion, cuando quieres grabar en un campo de texto una cadena con comilla simple, has de sustituirla por 2 comillas simples, sino da error
Por lo que he visto, ese mismo error se produce con el back slash (\). Aqui llega mi duda, ese es un error dentro de la interpretacion de las cadenas del propio PHP? Es del SQL? Existen mas caracteres con los que pueda producirse el error? Hay que reemplazar todos esos caracteres de todas las cadenas que queremos grabar, o existe una funcion predefina para el echo como mysql_real_escape_string, o esta funcion no tiene nada que ver? Gracias por atender el chaparron de preguntas Última edición por CHiCoLiTa fecha: 02-03-2004 a las 21:34:01. |
#2
|
||||
|
||||
Recuerda que en PHP las comillas dobles tienen un significado distinto a las comillas sencillas. Ambas te sirven para especificar cadenas de caracteres pero con las comillas dobles PHP evalúa las variables contenidas (identificadores antecedidos de $) y algunos caracteres especiales como tabulaciones, retornos de carro, etc. Estos últimos debes especificarlos con el caracter de escape, \, por eemplo \t, \n, etc. Esto, igual que en mchos lenuajes que nterpretan cadenas de texto, es necesario para poder distinguir, por ejemplo, una simple "t" de un tabulador "\t". Si te es necesario incluir caracteres \ como parte de la cadena y no como caracter de escape debes escaparlos a ellos mismos: \\.
// Saludos |
#3
|
||||
|
||||
Creo que te puede servir la función addslashes que, de acuerdo a la ayuda de php:
Cita:
|
#4
|
|||
|
|||
Ok, gracias.
Entonces tengo que sustituir ambas en todos los campos antes de grabar en la base de datos? |
|
|
|