Comunidad de diseño web y desarrollo en internet online

Insertar registro en bd tipo timestamp no funciona

Citar            
MensajeEscrito el 24 Abr 2014 07:48 pm
Hola,
Después de leer la documentación de mysql.
Necesito que cada vez que ingreso una fila en la BD se cree automaticamente una marca de tiempo conforme al momento en que fue ingresada
tengo la siguiente base de datos:


USE xxxxxxx;
CREATE TABLE mensajes (
id SMALLINT UNSIGNED NOT NULL AUTO_INCREMENT,
mensaje VARCHAR(501) collate utf8_spanish_ci NULL,
joinDate DATE NOT NULL,
joinTime TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_spanish_ci;


el siguiente php que ingresa registros en la BD:

$newmensaje = new Mensajes( array(

"mensaje" =>$recTextmensaje,
"joinDate" => date( "Y-m-d" ),
"joinTime" =>date (" Y-m-d H: i: s ")
));
if($newmensaje->insertMensaje())


y el siguiente PDO:

public function insertMensaje() {
$conn = parent::connect();
$sql = "INSERT INTO " . $this->TBL_MENSAJES . " (

mensaje,
joinDate,
joinTime

) VALUES (

:mensaje,
:joinDate,
:joinTime
)";

try {
$st = $conn->prepare( $sql );

$st->bindValue( ":mensaje", $this->data["mensaje"], PDO::PARAM_STR );
$st->bindValue( ":joinDate", $this->data["joinDate"], PDO::PARAM_STR );
$st->bindValue( ":joinTime", $this->data["joinTime"], PDO::PARAM_STR );

$st->execute();
parent::disconnect( $conn );return true;
} catch ( PDOException $e ) {
parent::disconnect( $conn );
die( "Query failed: " . $e->getMessage() );
}
}


Pues bien, el registro joinTime de la Bd siempre permanece a cero de ésta manera:0000-00-00 00:00:00
es decir no ingresa nada. Tan solo ingresa los campos: mensaje y joinDate.
Sabría alguien explicarme que es lo que estoy haciendo mal?
Le estaría muy agradecido a quién me pudiera hechar un cable.
Gracias de antemano

Manuel

Por maligix

13 de clabLevel



Genero:Masculino  

Directorio de profesionales

firefox
Citar            
MensajeEscrito el 28 Abr 2014 07:44 pm
Debes quitar el valor joinTime de la consulta porque MYSQL realizara solo el estampado de la fecha al momento que creara el registro

Código PHP :

$sql = "INSERT INTO " . $this->TBL_MENSAJES . " (
mensaje,
joinDate,
) VALUES (
:mensaje,
:joinDate,
)";

Por Zis

Claber

314 de clabLevel

1 tutorial

Genero:Masculino  

Bell Ville - Cordoba - Argentina

chrome

 

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