타임스탬프를 MySQL 테이블에 삽입하는 방법?
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";
}
?>
필드가 다음으로 설정되어 있는지 확인하기 위해 테이블 설정을 확인하는 것 외에도NOT NULL
의 채무 불이행으로CURRENT_TIMESTAMP
, MySQL과 호환되는 문자열 형식으로 작성하여 PHP에서 날짜/시간 값을 삽입할 수 있습니다.
$timestamp = date("Y-m-d H:i:s");
MySQL에 삽입할 수 있는 문자열 형식으로 현재 날짜와 시간을 제공합니다.
시도해보세요CURRENT_TIME()
아니면now()
기능들
"INSERT INTO contactinfo (name, email, subject, date, comments)
VALUES ('$name', '$email', '$subject', NOW(), '$comments')"
오어
"INSERT INTO contactinfo (name, email, subject, date, comments)
VALUES ('$name', '$email', '$subject', CURRENT_TIME(), '$comments')"
아니면 PHP로 시도해 보셔도 됩니다.date
기능:
$date = date("Y-m-d H:i:s");
$insertation = "INSERT INTO contactinfo (name, email, subject, date, comments)
VALUES ('$name', '$email', '$subject', CURRENT_TIMESTAMP(), '$comments')";
이 쿼리를 사용할 수 있습니다.CURRENT_TIME 스탬프
CURRENT_TIMEstamp() 괄호를 사용해야 합니다.
다음과 같이 현재 타임스탬프를 수동으로 삽입할 필요가 없습니다.MySQL
는 자동으로 저장할 수 있도록 이 기능을 제공합니다.언제.MySQL
테이블이 생성됩니다. 다음 작업만 수행하면 됩니다.
- 선택한다.
TIMESTAMP
당신의 칼럼 타입과 같이 - 을 정하다
Default
의 가치.CURRENT_TIMESTAMP
- 그다음에
insert
값을 삽입하지 않고 테이블에 행을 입력합니다.time
기둥.
당신은 보게 될 것입니다.current timestamp
행을 삽입하면 자동으로 삽입됩니다.첨부된 사진을 참조해주시기 바랍니다.
삽입/업데이트할 특정 정수 타임스탬프가 있는 경우 두 번째 arg로 타임스탬프와 함께 PHP date() 함수를 사용할 수 있습니다.
date("Y-m-d H:i:s", $myTimestamp)
그DEFAULT
MySql의 열 값은 해당 열에 대한 값이 제공되지 않은 경우에만 사용됩니다.그래서 당신이
INSERT INTO contactinfo (name, email, subject, date, comments)
VALUES ('$name', '$email', '$subject', '', '$comments')
사용하고 있지 않습니다.DEFAULT
열의 값date
, 그러나 빈 문자열을 제공하고 있으므로 오류가 발생합니다. 빈 문자열을 저장할 수 없기 때문입니다.DATETIME
기둥.사용하는 경우에도 동일하게 적용됩니다.NULL
, 왜냐하면 또NULL
값입니다.그러나 삽입할 컬럼 목록에서 컬럼을 제거하면 MySql은DEFAULT
해당 열(또는 데이터 유형 기본값)에 지정된 값
입어보실 수 있습니다.CURRENT_TIMESTAMP()
function
지나가는 동안에DML
질의.
TIMESTAMP(curdate(), curtime())을 사용하여 현재 시간을 사용할 수 있습니다.
언급URL : https://stackoverflow.com/questions/37616760/how-to-insert-timestamp-into-my-mysql-table
'programing' 카테고리의 다른 글
난수 행렬을 만드는 간단한 방법 (0) | 2023.09.06 |
---|---|
배열의 길이를 확인하려면 어떻게 해야 합니까? (0) | 2023.09.06 |
AWS lambda API 게이트웨이 오류 "형식이 잘못된 Lambda 프록시 응답" (0) | 2023.09.06 |
python의 bining 데이터에 skipy/numpy가 포함된 (0) | 2023.09.06 |
mysql_real_escape_string VS 슬래시 추가 (0) | 2023.09.06 |