我试图在mysql中插入日期,但每次失败并在phpmyadmin中作为0000-00-00
出现
我的日期格式类似于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());
尝试将-
更改为/
或删除它们,它不起作用。
在MySQL中尝试CAST
函数:
mysql_query("INSERT INTO data_table (title, date_of_event)
VALUES('". $_POST['post_title'] ."',
CAST('". $date ."' AS DATE))") or die(mysql_error());
尝试
$date = "2012-08-06";
$date=date("Y-m-d",strtotime($date));
除非您想插入与“今天”不同的日期,否则可以使用CURDATE():
$sql = 'INSERT INTO data_tables (title, date_of_event) VALUES ("%s", CURDATE())';
$sql = sprintf ($sql, $_POST['post_title']);
PS!请不要忘记清理MySQL输入,尤其是通过mysql_real_escape_string()
尝试先转换日期。
$date = "2012-08-06";
mysql_query("INSERT INTO data_table (title, date_of_event)
VALUES('" . $_POST['post_title'] . "',
'" . $date . "')")
or die(mysql_error());
如何在卡住时调试SQL查询
打印您查询并直接在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());
这样你可以确保问题不在PHP脚本中,而是在SQL查询中
如何提交有关SQL查询的问题
确保你提供足够的关闭
$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."')";