Ver Mensaje Individual
  #2 (permalink)  
Antiguo 25/06/2013, 19:41
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: duda sobre fecha en mysql

En realidad es un problema muy simple: Al poner entre apoóstrofos (') la función, deja de existir como tal y pasa a ser una cadena de texto que dice "'DATE_ADD(NOW(), INTERVAL 12 MONTH)".
Igualmente, cuando pones una variable de usuario entre apóstrofos, se convierte en una cadena de texto.

Ten en cuenta que el SQL no es el PHP. En PHP puedes poner variables dentro de una cadena y PHP reemplazará esa variable por su contenido. Pero eso no sucede en SQL.
Para que te funcione debes dejar la función SQL pura, sin apóstrofos:
Código MySQL:
Ver original
  1. INSERT INTO `dbventas`.`tblvendedor` (`nombre`, `telefono1`, `telefono2`, `telefono3`,
  2. `direccion1`, `direccion2`, `email1`, `email2`, `password`, `ciudad`, `pais`, `fecha_caducidad`)
  3.  VALUES ('".$this->getnombre()."', '".$this->gettelefono1()."', '".$this->gettelefono2()."',
  4. '".$this->gettelefono3()."', '".$this->getdireccion1()."', '".$this->getdireccion2()."', '".$this->getciudad()."',
  5. '".$this->getpais()."', '".$this->getemail1()."', ".$this->getemail2().", ".$this->getpassword().",

O bien:
Código MySQL:
Ver original
  1. SET @fecha_caducidad = DATE_ADD(NOW(), INTERVAL 12 MONTH);
  2.  
  3. INSERT INTO `dbventas`.`tblvendedor` (`nombre`, `telefono1`, `telefono2`, `telefono3`, `direccion1`,
  4. `direccion2`, `email1`, `email2`, `password`, `ciudad`, `pais`, `fecha_caducidad`)
  5. VALUES ('".$this->getnombre()."', '".$this->gettelefono1()."', '".$this->gettelefono2()."',
  6. '".$this->gettelefono3()."', '".$this->getdireccion1()."', '".$this->getdireccion2()."', '".$this->getciudad()."',
  7. '".$this->getpais()."', '".$this->getemail1()."', ".$this->getemail2().", ".$this->getpassword().",
  8. @fecha_caducidad);
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)