PHP - 将日期插入 mysql

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/11827175/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-25 02:13:54  来源:igfitidea点击:

PHP - Insert date into mysql

phpmysqldateinsertformat

提问by xperator

I am trying to insert date into mysql but everytime it fails and comes out as 0000-00-00in phpmyadmin

我正在尝试将日期插入 mysql 但每次它失败并0000-00-00在 phpmyadmin 中出现

My date format is like 2012-08-06(yyyy-mm-dd) and the date field type in database is date.

我的日期格式类似于2012-08-06(yyyy-mm-dd) 并且数据库中的日期字段类型是date.

$date = "2012-08-06";
mysql_query("INSERT INTO data_table (title, date_of_event) 
             VALUES('". $_POST['post_title'] ."',
                    '". $date ."')") or die(mysql_error()); 

tried changing -to /or removing them, it doesn't work.

试图改变-/或删除它们,这是行不通的。

回答by WatsMyName

try

尝试

$date = "2012-08-06";
$date=date("Y-m-d",strtotime($date));

回答by Omesh

try CASTfunction in MySQL:

CASTMySQL 中的try函数:

mysql_query("INSERT INTO data_table (title, date_of_event)
VALUES('". $_POST['post_title'] ."',
CAST('". $date ."' AS DATE))") or die(mysql_error()); 

回答by DavidS

Unless you want to insert different dates than "today", you can use CURDATE():

除非您想插入与“今天”不同的日期,否则您可以使用 CURDATE():

$sql = 'INSERT INTO data_tables (title, date_of_event) VALUES ("%s", CURDATE())';
$sql = sprintf ($sql, $_POST['post_title']);

PS! Please do not forget to sanitize your MySQL input, especially via mysql_real_escape_string ()

附注!请不要忘记清理您的 MySQL 输入,尤其是通过 mysql_real_escape_string ()

回答by John Woo

try converting the date first.

先尝试转换日期。

$date = "2012-08-06";

mysql_query("INSERT INTO data_table (title, date_of_event)
               VALUES('" . $_POST['post_title'] . "',
                      '" . $date . "')") 
           or die(mysql_error());

回答by Maksim Burnin

How to debug SQL queries when you stuck

卡住时如何调试 SQL 查询

Print you query and run it directly in mysql or phpMyAdmin

打印你查询,直接在mysql或者phpMyAdmin中运行

$date = "2012-08-06";
$query= "INSERT INTO data_table (title, date_of_event) 
             VALUES('". $_POST['post_title'] ."',
                    '". $date ."')";
echo $query;
mysql_query($query) or die(mysql_error()); 

that way you can make sure that the problem is not in your PHP-script, but in your SQL-query

这样您就可以确保问题不在您的 PHP 脚本中,而在您的 SQL 查询中

How to submit questions on SQ-queries

如何提交有关 SQ 查询的问题

Make sure that you provided enough closure

确保您提供了足够的关闭

  • Table schema
  • Query
  • Error message is any
  • 表模式
  • 询问
  • 错误信息是任何

回答by anilv0001

$date=$year."-".$month."-".$day; 
$new_date=date('Y-m-d', strtotime($dob)); 
$status=0;  
$insert_date = date("Y-m-d H:i:s");  
$latest_insert_id=0; 

$insertSql="insert into participationDetail (formId,name,city,emailId,dob,mobile,status,social_media1,social_media2,visa_status,tnc_status,data,gender,insertDate)values('".$formid."','".$name."','".$city."','".$email."','".$new_date."','".$mobile."','".$status."','".$link1."','".$link2."','".$visa_check."','".$tnc_check."','".json_encode($detail_arr,JSON_HEX_APOS)."','".$gender."','".$insert_date."')";