Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

duda al escribir consultas MYSQL

Estas en el tema de duda al escribir consultas MYSQL en el foro de Mysql en Foros del Web. Hola, que diferencia hay cuando yo inserto valores mediante variables, entre comillas simples, dobles o sin comillas. Insert into tabla (campo1, campo2) value ('$var1' ,'$var2'); ...
  #1 (permalink)  
Antiguo 25/05/2011, 02:47
 
Fecha de Ingreso: octubre-2010
Mensajes: 103
Antigüedad: 13 años, 6 meses
Puntos: 0
duda al escribir consultas MYSQL

Hola, que diferencia hay cuando yo inserto valores mediante variables, entre comillas simples, dobles o sin comillas.

Insert into tabla (campo1, campo2) value ('$var1' ,'$var2');

Insert into tabla (campo1, campo2) value ("$var1" ,"$var2");

Insert into tabla (campo1, campo2) value ($var1 ,$var2);
  #2 (permalink)  
Antiguo 25/05/2011, 07:43
Avatar de 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, 4 meses
Puntos: 2658
Respuesta: duda al escribir consultas MYSQL

Las cadenas de texto deben ser colocadas entre apóstrofos ('), los numéricos no necesitan estan encerrados en nada pero se debe tener cuidado en que los decimales se representen con punto decimal (estilo inglés), y no coma decimal (estilo español), porque la coma es separador de campos.
Código MySQL:
Ver original
  1. insert into tabla (campo1, campo2) value ('$var1' ,'$var2');
Si pones una cadena sin encerrarla entre apóstrofos generará un error de sintaxis, porque MySQL interpretará que es el nombre de un campo
Si $var contuviese la palabra "camisa" y $var2 "blanca" y le eliminas los apóstrofes, la sentencia que recibe realmente MySQL sería:
Código MySQL:
Ver original
  1. insert into tabla (campo1, campo2) value (camisa , blanca);
Ni camisa ni blanca pueden ser interpretados como cadenas en ese contexto, entonces MySQL asume que son nombres de campo... que en realidad no existen. Entonces se produce un error.
¿Se entiende?
__________________
¿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: Ninguno
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 15:10.