[php] PDO :: PARAM pour les dates?


Answers

Créer simplement la date en utilisant la fonction php date devrait résoudre ce problème pour vous.

$ handle-> execute (array (": date" => date ("Ymd H: i: s", strtotime ($ date)), PDO :: PARAM_STR));

Question

Est-ce que certains PDO::PARAM_??? existe qui peut être utilisé pour les dates ou les horodatages?

Exemple de code:

$sql = "UPDATE my_table SET current_date = :date WHERE id = 43";
$statement = $pdo->prepare ($sql);
$statement->bindParam (":date", strtotime (date ("Y-m-d H:i:s")), PDO::PARAM_STR);
$statement->execute ();



Vous devez traiter la date comme une chaîne, mais vous pouvez créer une fonction pour vérifier si une date est valide avant de la passer en paramètre. Comme ça:

function checkValidDate($date, $format = "dd-mm-yyyy"){
            if($format === "dd-mm-yyyy"){
            $day = (int) substr($date,0,2);
            $month = (int) substr($date, 3,2);
            $year = (int) substr($date, 6,4);

        }else if($format === "yyyy-mm-dd"){
            $day = (int) substr($date,8,2);
            $month = (int) substr($date, 5,2);
            $year = (int) substr($date, 0,4);
        }

        return checkdate($month, $day, $year);
}



Links