par
yann18 » 15 août 2014, 13:16
bonjour,
$sql = "INSERT INTO visites (`timestamp1') VALUES ('".$date->getTimestamp()."')";
ta requête sql n'est pas valide car à la place d'une quote inversée(`) tu utilises une quote(').si tu tu travaillais en mode dev, erreurs php activées, tu allais bien pu t’apercevoir que ta requête comporte une erreur.
cette condition ne sera jamais évaluée(quoique qu'elle n'est pas à l'origine de ton problème) car $date attend un objet de type DateTime et ne sera jamais à false ni à true.Autant vérifier, av
ec instanceof, que $date est bien une instance de type DateTime :
if (empty($_POST['year']) && empty($_POST['month']) && empty($_POST['day']))
{
echo "remplissez tous les champs !<br/>";
}
else
{
$date = new DateTime($_POST['year'].'-'.$_POST['month'].'-'.$_POST['day']);
if (!$date instanceof DateTime)
{
echo 'Date invalide';
}
else
{
echo "<br/>avant insertion<br/>";
$sql = "INSERT INTO visites (`timestamp1`) VALUES ('".$date->getTimestamp()."')";
echo "<br/>sql=".$sql."<br/>";
if( mysqli_query($db, $sql) ===FALSE )
printf("erreur sql : %s\n", mysqli_error($db));
}
}
bonjour,
[quote]
[php]
$sql = "INSERT INTO visites (`timestamp1') VALUES ('".$date->getTimestamp()."')";
[/php]
[/quote]
ta requête sql n'est pas valide car à la place d'une quote inversée(`) tu utilises une quote(').si tu tu travaillais en mode dev, erreurs php activées, tu allais bien pu t’apercevoir que ta requête comporte une erreur.
[quote]
[php]
if ($date === false)
[/php]
[/quote]
cette condition ne sera jamais évaluée(quoique qu'elle n'est pas à l'origine de ton problème) car $date attend un objet de type DateTime et ne sera jamais à false ni à true.Autant vérifier, av[b]ec instanceof[/b], que $date est bien une instance de type DateTime :
[php]
if (empty($_POST['year']) && empty($_POST['month']) && empty($_POST['day']))
{
echo "remplissez tous les champs !<br/>";
}
else
{
$date = new DateTime($_POST['year'].'-'.$_POST['month'].'-'.$_POST['day']);
if (!$date instanceof DateTime)
{
echo 'Date invalide';
}
else
{
echo "<br/>avant insertion<br/>";
$sql = "INSERT INTO visites (`timestamp1`) VALUES ('".$date->getTimestamp()."')";
echo "<br/>sql=".$sql."<br/>";
if( mysqli_query($db, $sql) ===FALSE )
printf("erreur sql : %s\n", mysqli_error($db));
}
}
[/php]