Précédent   Forum du club des développeurs et IT Pro > PHP > PHP & SGBD > PHP & SQL-Server
PHP & SQL-Server Forum d'entraide sur SQL-Server avec PHP. Avant de poster -> FAQ SQL-Server
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 22/10/2012, 11h36   #1
Sebastien14
Membre habitué
 
Inscription : juin 2008
Messages : 172
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 172
Points : 120
Points : 120
Par défaut Erreur Format date

Bonjour,

J'ai un souci lors de l'exécution d'une requête qui est censé mettre dans un champ de type datetime(8) la date du jour. Je lance une requête de cette forme:

Code :
1
2
 
update matable set monchamp=CONVERT(varchar(8), GETDATE(), 3) where macle=4
Si je l'exécute à partir de php, elle ne fonctionne pas, par contre si je fais un echo de ma requête et que je l'execute ensuite directement depuis sqlserver, la cela fonctionne.

Cela fait un moment que je cherche sans succès.
Sebastien14 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/10/2012, 12h15   #2
Fench
Expert Confirmé
 
Avatar de Fench
 
Homme
Chercheur en informatique
Inscription : mai 2002
Messages : 2 346
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Groenland

Informations professionnelles :
Activité : Chercheur en informatique
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : mai 2002
Messages : 2 346
Points : 3 231
Points : 3 231
Je suppose que tu ne peux pas modifier le datetime(8) en datetime dans la base ?

Sinon, pourquoi ne pas essayer:
Code :
1
2
 
update matable set monchamp=CONVERT(varchar, GETDATE(), 3) where macle=4
car ensuite, le format dd/mm/yy sera appliqué à 8 dans sql server
__________________
Meuuh en AI à l'INRA
Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)
Fench est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/10/2012, 12h22   #3
Sebastien14
Membre habitué
 
Inscription : juin 2008
Messages : 172
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 172
Points : 120
Points : 120
Merci pour ta réponse.

Techniquement je pourrai le faire, mais cette base est utilisée par une autre application donc je préfère éviter.
Ce que je comprend pas c'est pourquoi ma requête fonctionne très bien si je l'exécute directement sur le serveur mais lorsque je l'exécute via php cela ne fonctionne plus.
Sebastien14 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/10/2012, 12h41   #4
Fench
Expert Confirmé
 
Avatar de Fench
 
Homme
Chercheur en informatique
Inscription : mai 2002
Messages : 2 346
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Groenland

Informations professionnelles :
Activité : Chercheur en informatique
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : mai 2002
Messages : 2 346
Points : 3 231
Points : 3 231
Oui je comprends, le varchar(8) devrait être bon ...

Dans ce cas, affiche les erreurs (par un die par exemple, à virer ensuite)
__________________
Meuuh en AI à l'INRA
Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)
Fench est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/10/2012, 13h34   #5
Sebastien14
Membre habitué
 
Inscription : juin 2008
Messages : 172
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 172
Points : 120
Points : 120
Je n'ai pas de message d'erreur lors de l'exécution de ma requête. Mon champ reste vide. J'ai pensé à un problème de droits, l'identifiant de connection que j'utilise ne peux pas utiliser les fonctions convert et getdate, je vois que sa.
Sebastien14 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/10/2012, 14h19   #6
Fench
Expert Confirmé
 
Avatar de Fench
 
Homme
Chercheur en informatique
Inscription : mai 2002
Messages : 2 346
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Groenland

Informations professionnelles :
Activité : Chercheur en informatique
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : mai 2002
Messages : 2 346
Points : 3 231
Points : 3 231
Tu as regardé dans les log d'Apache, tu as bien display_error à on dans le php.ini ?
__________________
Meuuh en AI à l'INRA
Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)
Fench est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 22/10/2012, 14h27   #7
Sebastien14
Membre habitué
 
Inscription : juin 2008
Messages : 172
Détails du profil
Informations forums :
Inscription : juin 2008
Messages : 172
Points : 120
Points : 120
Oui j'ai bien le display_error à on, si je change le nom de mon champ en mettant un champ qui n'existe pas, j'ai bien un message d'erreur.
Sebastien14 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 06h22.


 
 
 
 
Partenaires

Hébergement Web