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 ?

Comment résoudre l'erreur « L'objet de la classe DateTime n'a pas pu être converti en chaîne » en PHP ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-01 16:28:15549parcourir

How to Resolve the

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn