Mise à jour d'une variable datetime de mysql
Je suis en train de mettre à jour ma base de données MySQL avec un DateTime
variable.
$interval = 'P' . $days . 'DT' . $hours. 'H' . $minutes. 'M' . $seconds . 'S' ;
$date = new DateTime("NOW");
$date->add(new DateInterval($interval));
Maintenant le SQL de mise à jour:
$query = "UPDATE table
SET table.table_date = '$date' ";
mysql_query($query);
mysql_query($query);
Si je var_dump
la $date
variable, il montre de bonnes propriétés:
object(DateTime)#4 (3) { ["date"]=> string(19) "2012-07-05 20:04:14" ["timezone_type"]=> int(3) ["timezone"]=> string(13) "Europe/Berlin" }
mais il ne sera pas inséré. Si j'essaie MAINTENANT() au lieu de $date, il fonctionne parfaitement. Quel est mon erreur?
Vous devez utiliser PDO ou MySQLi au lieu de la
et pourquoi ne pas l'utiliser MAINTENANT (), car il fonctionne ?
parce que la date doit être spécifié par l'utilisateur et ce n'est pas maintenant.
mysql_
extensions, dont l'utilisation est de décourager et de ce qui sera probablement retiré de PHP bientôt. En utilisant des requêtes préparées devrait également résoudre ce problème.et pourquoi ne pas l'utiliser MAINTENANT (), car il fonctionne ?
parce que la date doit être spécifié par l'utilisateur et ce n'est pas maintenant.
OriginalL'auteur villeroy | 2012-07-05
Vous devez vous connecter pour publier un commentaire.
Essayez ceci:
OriginalL'auteur Ron
Il ne fonctionne pas parce que vous essayez d'insérer un objet directement dans une chaîne de caractères. Ce que vous devez faire est de convertir l'objet d'un utilisable datetime chaîne:
OriginalL'auteur Zane Bien