Maison >base de données >tutoriel mysql >Comment résoudre l'erreur « L'objet de la classe DateTime n'a pas pu être converti en chaîne » en PHP ?
Résolution d'erreur pour "L'objet de la classe DateTime n'a pas pu être converti en chaîne"
Dans une table de base de données contenant des valeurs de chaîne représentant des dates dans un format spécifique, une tentative de conversion de ces valeurs en objets DateTime pour insertion dans une autre table rencontre l'erreur "L'objet de la classe DateTime n'a pas pu être converti en string."
Comprendre le problème
La classe DateTime en PHP représente les dates et les heures sous forme d'objets. L'erreur se produit car le code tente d'insérer un objet DateTime ($newdate) dans une colonne de table avec un type de données DATE, qui attend une représentation sous forme de chaîne de la date.
Solution
Pour résoudre cette erreur, l'objet DateTime doit être reconverti en chaîne avant l'insertion. La méthode DateTime::format permet le formatage de l'objet DateTime dans une représentation sous forme de chaîne spécifique.
Code modifié
$dateFromDB = $info['Film_Release']; $newDate = DateTime::createFromFormat("l dS F Y", $dateFromDB); $newDate = $newDate->format('Y-m-d'); // Format the date to match the DATE data type
En ajoutant $newDate = $ newDate->format('Y-m-d'); ligne, l'objet DateTime est formaté sous forme de chaîne au format AAAA-MM-JJ, compatible avec le type de données DATE. Cette chaîne peut ensuite être insérée dans le tableau avec succès.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!