|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre régulier
![]() Inscription : décembre 2006 Messages : 493 ![]() |
Bonjour, suite au crash d'un ordinateur linux hébergeant une application php+mysql, l'ensemble des fichiers et des bases ont été copiées sur un autre poste, tournant également sous linux.
Une partie de l'objectif de l'appli est de comparer des dates. Pour cela j'ai une classe : Code :
Par exemple la dernière ligne $beginDate-$endDate me provoque une erreur Catchable fatal error: Object of class DateTime could not be converted to string in /var/www/class.php on line 474. Dernière ligne dans une condition qui d'ailleurs est mal interprétée puisque mon $begin est bien inférieur à mon $end. Une idée d'où cela peut-il venir ? Je pensais au fait que les versions php ou mysql n'était pas les mêmes... Merci d'avance. |
||
|
|
00
|
|
|
#2 |
|
Membre régulier
![]() Inscription : décembre 2006 Messages : 493 ![]() |
Bon en fait il s'agit de 2 erreurs différentes. Catchable fatal error est résolu en forçant le format de sortie, mais le DateTime n'est pas interprété.
Comme je suis sous php 5.2, je pense que le problème vient de là, l'autre devait être une version 5.3. |
|
|
00
|
|
|
#3 | ||||
|
Expert Confirmé
![]() Inscription : janvier 2010 Messages : 2 709 ![]() |
Salut
Code :
$beginDate et $endDate doivent être des Objets Datetime vu que ceci est déclaré/typé dans la fonction. Mais faire directement une comparaison comme $beginDate < $endDate à mon avis ça ne peut pas fonctionner, il y a de forte chance que Php tentera de "caster" ces 2 Objets afin de pourvoir faire la comparaison. Il faudrait que ce soit des valeurs, comme un timestamp par exemple, non ? J'aurais plus vu quelque chose comme ceci : Code :
__________________
Win XP | WampServer 2.2d | Apache 2.2.21 | Php 5.3.10 | MySQL 5.5.20 Si debugger, c'est supprimer des bugs, alors programmer ne peut être que les ajouter [Edsger Dijkstra] |
||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com