2011-07-30 6 views
6

Comment insérer la date actuelle dans ma base de données? J'ai une colonne appelée date pour le mettre. Je veux insérer en même temps insérer ceci:Insérer la date actuelle dans la base de données?

$sql="INSERT INTO `Lines` (Text, PID, Position) 
VALUES 
('$text','$pid','$position')"; 

Y at-il un moyen d'automatiser dans PHPMyAdmin ou il est le même pour le faire de cette façon? Merci

Répondre

7

Si la définition de table a le jeu par défaut de la colonne timestamp-CURRENT_TIMESTAMP, vous n'avez pas vraiment à quoi que ce soit du tout. Dans le cas contraire, NOW() et CURRENT_TIMESTAMP fonctionnera, comme dans:

INSERT INTO t1 (timestamp_column) VALUES (NOW()); 

Il y a une différence entre CURRENT_TIMESTAMP et NOW(), mais il est probablement trop petit pour vous importe. PhpMyAdmin semble avoir CURRENT_TIMESTAMP en option lors de la création d'une nouvelle colonne.

4
INSERT INTO `Lines` (`date`) VALUES (NOW()); 
0

Sinon ... si vous utilisez un entier, comme cela est courant en PHP, il suffit d'utiliser time() et insérez sa valeur de la même façon que vous avez inséré les autres variables, ou utiliser UNIX_TIMESTAMP() de MySQL

1

En fonction de vos besoins , vous pouvez également le faire

$date=date('d.m.y h:i:s'); 

Ensuite, insérez $ date. Je veux dire si vous voulez seulement voir la date & temps. Sinon, je recommande également le temps().

0

La meilleure façon de stocker des horodatages est d'utiliser les entiers d'horodatage UNIX en GMT/UTC. Cela vous permet de toujours connaître l'heure exacte, peu importe où vous, votre serveur ou vos utilisateurs sont situés. Un bonus est que vous pouvez permettre à vos utilisateurs de définir leur fuseau horaire et d'afficher des heures significatives pour eux.

$sql = "INSERT INTO `Lines` (`timestamp`) VALUES ('" . time() . "')"; 

ou

$sql = "INSERT INTO `Lines` (`timestamp`) VALUES (UNIX_TIMESTAMP())"; 

Soyez prudent si vous choisissez d'utiliser NOW() ou CURRENT_TIMESTAMP car ils sont gérés par le serveur de base de données et ses paramètres. Si le serveur sur lequel votre site est hébergé se trouve dans un fuseau horaire et que vous passez à un autre hôte dans un autre fuseau horaire, tous vos horodatages seront incorrects. L'utilisation d'entiers Unix ajoutera un peu d'effort supplémentaire lorsque votre application traite les temps, mais elle vous donne la plus grande précision et la plus grande flexibilité.

Questions connexes