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
PHP - Insert date into mysql
提问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."')";

