MySQL показывает только нули, когда я публикую на своем сайте - PullRequest
0 голосов
/ 31 октября 2018

Я создаю сайт PHP и хочу добавить комментарии. Когда комментарии будут опубликованы, я хочу показать текущую дату, но получаю только это: 0000-00-00 00:00:00 У меня был тип datetime, по умолчанию CURRENT_TIMESTAMP, но он не работает. Я снял это, то же самое. У меня просто есть тип datetime на MySQL DB.

PHP-код:

 <?php

       include ('db_connect2.php');
       require ('header.php');
       require ('login.php');
       include ('comments.php');
       date_default_timezone_set('America/New_York');




<?php
   echo "<form method='POST' action='".setComments($conn)."'>
         <input type='hidden' name='user_id' value='Anonymous'>
         <input type='hidden' name='posted' value='".date('YYYY-MM-DD 
         HH:MM:SS')."'>
        <textarea name='body'></textarea><br><br>
        <button name='commentSubmit' type='submit'>Comment</button>
        </form>";
?>

comments.php

setComments($conn);
   function setComments($conn) {
      if (isset($_POST['commentSubmit'])){
        $user_id = $_POST['user_id'];
        $posted = $_POST['posted'];
        $body = $_POST['body'];

        $sql = "INSERT INTO comments (user_id, posted, body) VALUES 
        ('$user_id', '$posted', '$body')";
       $result = mysqli_query($conn, $sql);
  }

 }

      function getComments($conn) {
              $sql = "SELECT * FROM comments";
              $result = mysqli_query($conn, $sql);
              while ($row = $result->fetch_assoc()){
              echo "<div class='comment-box'><p>";
              echo $row['user_id']."<br>";
              echo $row['posted']."<br>";
              echo nl2br($row['body']);
             echo "</p></div>";



    }
 }

1 Ответ

0 голосов
/ 31 октября 2018

Вы используете неправильный формат для вашей даты в скрытом вводе:

date('YYYY-MM-DD HH:MM:SS')

Это должно было бы повторить что-то вроде этого:

2018201820182018-октябрь-вторник 2323: октябрь: thth

Вам нужно использовать тот же формат, что и MySQL использует , но в формате PHP:

date("Y-m-d H:i:s")

Что бы echo'd что-то вроде этого:

2018-10-30 23: 01: 23

Подсказка: Всегда смотрите на свой источник HTML, это тоже «инструмент».

Внимание : Ваш код открыт для внедрения SQL. Пожалуйста, используйте подготовленное заявление для этого.

Ссылки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...