Ver Mensaje Individual
  #4 (permalink)  
Antiguo 18/04/2013, 06:03
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: ¿error en sintaxis sql?

Porque las cadenas de texto deben quedar entre apóstrofos ('), y lo que está entrando en la primera variable puede generar un error sintáctico si está compuesto de más de una palabra (si fuera una sola te diría "Columna xxx desconocida")
Código MySQL:
Ver original
  1. UPDATE libro_de_visitas
  2. SET texto='$texto'
  3. WHERE id=$id
También van entre apóstrofes las fechas (recordar que el formato estandar de BBDD es YYYY-MM-DD), pero no los números.
Respecto a las cadenas, tienes que cuidarte de controlar la existencia de apostrofos y otros caracteres dentro de la variable, para evitar que el contenido de esa variable rompa la sintaxis de la query. el PHP tiene funciones para eso.
En cuanto a los paréntesis, en SQL Server tiene un uso diferente, pero el resto de los DBMS tiene su propia forma de interpretarlo.
En el caso de MySQL y Oracle, por ejemplo, el encapsulamiento lleva a que el parser segmente el análisis de esos valores contenidos, separándolos del resto de las condiciones, y puede terminar generando problemas de performance.
Los paréntesis se deben usar si y sólo si son necesarios para aislar operaciones lógicas, de columnas o de cálculo.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)