[résolu] [PHP] Forcer le type d'une variable

Forcer le type d'une variable [résolu] [PHP] - PHP - Programmation

Marsh Posté le 04-09-2008 à 15:51:34    

Voila mon prob :
 
je récupère dans une variable la date actuelle :
 
$ajd=date(mdy);
 
ça me donne bien ce que je veux, j'ai bien 090408 dedans.
 
ensuite ça part dans du sql pour etre stocké :
 
$sql="INSERT INTO ma_table ([date]) VALUES ($ajd)";
   
ça marche bien sauf que ça me stock 90408
J'ai perdu le 0 devant.
 
Je peux forcer $ajd à etre un string ? (comme quand on fait $myarray =array() par exemple)


Message édité par rengzehn le 04-09-2008 à 17:24:27
Reply

Marsh Posté le 04-09-2008 à 15:51:34   

Reply

Marsh Posté le 04-09-2008 à 15:53:07    

Vu que tu stockes une date, pourquoi tu n'as pas créé une colonne de type "date" dans la base de donnée?
 
Edit : PS : Toutes les bases de données ont des fonctions de dates (voir la documentation de ta base de donnée pour la liste complète)


Message édité par omega2 le 04-09-2008 à 15:54:42
Reply

Marsh Posté le 04-09-2008 à 15:58:20    

le champ date de ma base est au format texte (un var char) et ça le restera :)

 

et

 

settype($ajd, "string" );

 

ne change rien à mon prob :/


Message édité par rengzehn le 04-09-2008 à 16:03:11
Reply

Marsh Posté le 04-09-2008 à 16:01:01    

Le tout est de savoir ou est ce que ton information est transtypée en entier, visiblement c'est au niveau PHP puisque ton champ est un VARCHAR. Donc tu dois vérifier que la variable PHP ne subit pas un typage en entier dans le traitement.

Reply

Marsh Posté le 04-09-2008 à 16:06:21    

Mairdouille je suis bloqué, meme
$sql="INSERT INTO ma_table ([date]) VALUES (".date("mdy"." )";
me vire le 0 devant...

 

ok c'est good, il faut mettre entre des cotes :

 

$ajd="'".date("mdy" )."'";

 



Message édité par rengzehn le 04-09-2008 à 16:11:20
Reply

Marsh Posté le 04-09-2008 à 16:11:26    

et avec ça ?  
 
$sql= 'INSERT INTO ma_table (date) VALUES (\''.date('mdy').'\')';
 
Edit tu as trouvé tout seul :)

Message cité 1 fois
Message édité par yellu le 04-09-2008 à 16:11:56
Reply

Marsh Posté le 04-09-2008 à 16:12:28    

yellu a écrit :

et avec ça ?  
 
$sql= 'INSERT INTO ma_table (date) VALUES (\''.date('mdy').'\')';
 
Edit tu as trouvé tout seul :)


 
C'était bien ça merci :jap:

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed