Insérer une date dans une base...

Eléphanteau du PHP | 12 Messages

18 août 2005, 01:07

Salut à tous !!


Voila je voudrais savoir comment insérer une date dans ma base de données ??

Voila mon code :

Code : Tout sélectionner

include ("connect.php"); // Ajouter une news if(isset($HTTP_POST_VARS['valider'])) { $sql = "INSERT INTO news(news,date) VALUES ('".$HTTP_POST_VARS['text_news']."',".date("Y-m-d").")"; $req = mysql_query($sql) or die ("mise à jour impossible de ".$sql."<br>".mysql_error()); echo "<meta http-equiv='Refresh' content='0; URL=liste_news.php'>"; }
Cela marche pour le reste mais pour ce qui est de la date elle reste par defaut dans la base (0000-00-00) le format dans la base est (comme vous lavez deviné: date)

Voila merci d'avance... :D
Modifié en dernier par tioumen le 18 août 2005, 12:12, modifié 1 fois.
Je veux le nom du comique qui fait circuler une version de Windows sans bug ! Il veut couler la boîte ou quoi ? Enjoy Linux Ubuntu !!

Mammouth du PHP | 1885 Messages

18 août 2005, 01:20

Bonjour,

Fait un echo de ta variable $sql pour t'apercevoir de ton erreur.
De plus, je te conseille d'utiliser la fonction NOW() pour insérer ta date:
$sql = "INSERT INTO news(news,date) VALUES ('".$HTTP_POST_VARS['text_news']."', NOW())"; 
Autres conseils:
Utilise $_POST au lieu de $HTTP_POST_VARS car ce dernier est déprécié depuis PHP 4.1.
De plus, il est fortement recommandé de sécuriser la variable que tu insères dans ta base de données. Une injection SQL est si vite arrivée.
La programmation est l'expression de la poésie d'un programmeur
Génération PHP

Petit nouveau ! | 5 Messages

18 août 2005, 02:33

Il faut que ta date soit écrite comme ca : 20050818. Enfait :
$date=20050818;
et met qd meme des single quote.

Code : Tout sélectionner

$date = date("Y-m-d"); // et ca je sais pas si c bon..mm... ta date c un peu bizarre cette utilisation de la fonction... $sql = "INSERT INTO news(news,date) VALUES ('".$_POST['text_news']."','".$date."')";

Mammouth du PHP | 1885 Messages

18 août 2005, 02:42

Bonjour,

Je maintiens toujours ma suggestion d'utiliser la fonction NOW() de MySQL.
La programmation est l'expression de la poésie d'un programmeur
Génération PHP

Eléphanteau du PHP | 12 Messages

18 août 2005, 12:07

salut!!

je vous remerci... :o

je suis nouveau venu dans le php. venant du C et du VB...

Pour ce qui est de la sécurisation de mon code, quelqu'un peut m'expliquer comment faire ??

j'ai essayé d'utiliser la fonction now() mai il n'en voulai pas il me disai qu'elle n'existait pas...

PS: J'utilise Apache2 avec PHP 4.3 sur un Ubuntu 5.04

je me sert aussi de l'aide de nexen (fichier .chm)

merci de vos réponses... !!!

PS : vai tester tou ça et je reviens mettre [Résolu] si c bon !!
Modifié en dernier par tioumen le 18 août 2005, 14:46, modifié 1 fois.
Je veux le nom du comique qui fait circuler une version de Windows sans bug ! Il veut couler la boîte ou quoi ? Enjoy Linux Ubuntu !!

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

18 août 2005, 12:13

Pour ce qui est de la sécurisation de mon code, quelqu'un peut m'expliquer comment faire ??
mysql_real_escape_string() te sera d'une grande utilité:
http://fr.php.net/mysql_real_escape_string
j'ai essayé d'utiliser la fonction now() mai il n'en voulai pas il me disai qu'elle n'existait pas...
Attention, il s'agit d'une fonction MySQL et non pas d'une fonction PHP donc à utiliser telquel dans la requète
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphanteau du PHP | 12 Messages

18 août 2005, 12:20

vai vite allé faire un tour sur ce lien !!

vive le php vraiment excellent !!! lol


:D :D :D :D
Je veux le nom du comique qui fait circuler une version de Windows sans bug ! Il veut couler la boîte ou quoi ? Enjoy Linux Ubuntu !!