como insertar valores de fecha en tabla mysql

publicado por: Anonymous

Tengo un problema al insertar fechas en una columna de tabla mysql.

ya he probado con poner el campo como varchar, date, datetime y nada.

$fecha_ant = date("Y-m-d", strtotime("-3 day")); // con esto obtengo la fecha actual – 3 dias, me devuelve la fecha correcta

Mi insert

$conn->exec("INSERT INTO tVentas (vendedor_id,fecha_trans,amount,tienda) VALUES($id_vendedor,$fecha_ant,$monto,0)");

al querer insertar este dato en mysql si el campo de mysql esta como date no inserta nada y si esta como varchar en vez de insertar la fecha, inserta un numero.

Por ejemplo si la fecha extraída es “2016-11-18”, inserta “1987”.

Leyendo al respecto, puede ser algo de la fecha unix, pero no estoy seguro. En la DB deseo insertar 2016-11-18 y no 1987

solución

Parece que estás intentando insertar la fecha sin comillas que escapen el valor.

$conn->exec("INSERT INTO tVentas (vendedor_id,fecha_trans,amount,tienda) VALUES($id_vendedor,$fecha_ant,$monto,0)");

Deberías intentar crear la query de la siguiente manera

$conn->exec("INSERT INTO tVentas (vendedor_id,fecha_trans,amount,tienda) VALUES($id_vendedor,'$fecha_ant', $monto, 0)");

De todas formas te recomiendo que utilices PDO para asegurar las queries que hagas a la base de datos.

$stmt = $pdo->prepare('INSERT INTO tVentas (vendedor_id,fecha_trans,amount,tienda) VALUES(?, ?, ?, ?)');
$stmt->execute([$id_vendedor, $fecha_ant, $monto, 0]);
Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *