PHP: Datum korrekt in Datenbank speichern?

2 Antworten

Wenn die Spalte von mysql date ist, dann musst du dem beim Schreiben auch yyyy-mm-dd übergeben. Oder du schreibst im INSERT FROM_UNIXTIME(:todate) und übergibst den Timestamp. d.m.y geht nicht.

Beim Auslesen bekommst du auch yyyy-mm-dd zurück, keinen Timestamp. Wenn du den willst, kannst du im select UNIX_TIMESTAMP(todate) as todate verwenden (dann gib aber die restlichen Spalten auch an statt *).

Woher ich das weiß:Berufserfahrung – Softwareentwickler & Admin
 require ("../.res/php/mysql.php");
                        $stmt = $mysql->prepare("SELECT * FROM tasks ORDER BY dateToDo DESC");
                        $stmt->execute();
                        $count = $stmt->rowCount();
                        if($count == 0){
                            ?>
                                <tr>
                                    <td>Derzeit keine Aufgaben</td>
                                    <td></td>
                                    <td></td>
                                    <td></td>
                                </tr>
                            <?php
                        }else{
                            while($row = $stmt->fetch()){
                                $date = date("d.m.Y");
Z. 47                           $ddate = $row["dateToDo"] - $date;
                                $stmt = $mysql->prepare("SELECT username FROM accounts WHERE id = :id");
                                $stmt->bindParam(":id", $row["userid"]);
                                $stmt->execute();
                                $user = $stmt->fetch();
                                $user = $user["username"];
                                ?>
                                 <tr>
                                    <td><?php echo $row["title"];?></td>
                                    <td><?php echo "Noch ".$ddate." Tage";?></td>
                                    <td><?php echo $user;?></td>
                                    <td><?php echo $row["points"]." Punkte";?></td>
                                    <th><a href="../.res/php/doTask.php?id=<?php echo $row["id"];?>"class="check"><i class="far fa-check-square"></i></a></th>
                                    <th><a href="../.res/php/deleteTask.php?id=<?php echo $row["id"];?>"class="delete"><i class="far fa-trash-alt"></i></a></th>
                                </tr>
                                <?php
                            }