본문 바로가기
MySql

MySQL 내 MySQL 테이블에 TIMESTAMP를 삽입하는 방법은 무엇입니까?

by 베이스 공부 2020. 11. 6.
반응형

MySQL 테이블에는 날짜라는 필드가 있는데 그 유형은 타임 스탬프이고 기본값은 CURRENT_TIMESTAMP 입니다. 그러나 MySQL에서 필드를 비워두면 오류가 발생합니다. time () 과 같은 것을 삽입하려고하면 0000-00-00 00:00:00 으로 날짜를받습니다.

<?php

    $name         = "";
    $email        = "";
    $subject      = "";
    $comments     = "";
    $nameError    = "";
    $emailError   = "";
    $subjectError = "";
    $x            = 5;
    function filterData($data)
    {
        $data = htmlspecialchars($data);
        $data = stripslashes($data);
        return $data;
    }
    $connection = mysql_connect('host', 'user', 'pass');
    if (!$connection) {
        die('Could not connect: ' . mysql_error());
    }
    
    
    $select_database = mysql_select_db("contact");
    
    if (!$select_database) {
        echo "could not select database " . mysql_error();
        
    }
    if ($_SERVER["REQUEST_METHOD"] == "POST") {
        //handles the name 
        $name = filterData($_POST["name"]);
        if (empty($name)) {
            $nameError = "please don't leave the name field blank";
        }
        //handles the email
        $email = filterData($_POST["email"]);
        if (empty($email)) {
            $emailError = "please don't leave the email field blank";
        }
        
        //handles the subject
        $subject = filterData($_POST["subject"]);
        if (empty($subject)) {
            $subjectError = "please don't leave this field blank";
        }
        
        $comments = filterData($_POST["comments"]);
        
    }
    
    $insertation = "INSERT INTO contactinfo (name, email, subject, date, comments)
        VALUES ('$name', '$email', '$subject', '', '$comments')";
    
    $insertationQuery = mysql_query($insertation, $connection);
    
    if (!$insertationQuery) {
        echo "Could not process your information " . mysql_error();
    } else {
        echo "Thank you for submitting the information";
    }
    
?>

 

해결 방법

 

테이블 설정을 확인하여 필드가 기본값 CURRENT_TIMESTAMP 를 사용하여 NOT NULL 로 설정되었는지 확인하는 것 외에도 PHP에서 날짜 / 시간 값을 작성하여 삽입 할 수 있습니다. MySQL과 호환되는 문자열 형식.

 $timestamp = date("Y-m-d H:i:s");

그러면 MySQL에 삽입 할 수있는 문자열 형식으로 현재 날짜와 시간이 제공됩니다.

 

참조 페이지 https://stackoverflow.com/questions/37616760

 

 

반응형

댓글