目录
2.php语言分割、拼接变量(字符串)格式化日期,形成符合datetime类型的数据并准备插入数据库
3.记录一下对string时间的处理并以datetime类型插入mysql(数据库连接部分省略)
1.datetime的插入数据格式问题
mmp一个很简单的问题却困扰了我一个下午,看了很多教程但是一直调不出来
原来是因为我对mysql中的datetime类型理解错误了!!!
举个栗子,
我一直错误理解为INSERT INTO rsys_db.t_schedule values ('1','2019-06-09 00:00:00');?这是错的!!!
语句INSERT INTO rsys_db.t_schedule values ('1','20190609000000');可以执行成功,?这才是对的!!!
第二个正确的语句才实现了插入数据库,其中第二个数据是datetime类型的。
也就是说,datetime类型插入的数据之间没有冒号或者分隔符!当插入的数据含有这些东东时是无法插入的!!!
插入后,数据库中显示,是数据库自己对数据处理之后加上的分隔符。
2.php语言分割、拼接变量(字符串)
1.分割 $x=explode("参数1",参数2);
//第一个参数为分割的字符,第二个参数为待分割的字符串,结果保存到数组中
比如:$arr_date=explode(",",$date);//以逗号作为分隔符,分割$date变量并保存到数组中
举个栗子:
$val=06/09/2019;
$arr_sdate=explode("/",$val);
$month=$arr_sdate[0];
$day=$arr_sdate[1];
$year=$arr_sdate[2];
=>执行结果为:$month=06;$day=09;$year=2019;
2.拼接 $var=$var0.$var1."xxx"
//以英文句号为拼接符即可成功拼接
比如:$arr_time[0]=08;$arr_time[1]=00;
$time=$arr_time[0].$arr_time[1]."00";
=>执行结果为$time=080000
3.记录一下对string时间的处理并以datetime类型插入mysql(数据库连接部分省略)
//$val 是形如 06/10/2019 的日期数据,$column 是形如 12:00 的时间数据。
//很明显它们不符合datetime的类型要求,因此需要先进行字符切割,然后后再拼接起来,形成形如 20190610120000 的符合datetime类型的数据。
$arr_sdate=explode("/",$val);
$day=$arr_sdate[1];
$month=$arr_sdate[0];
$year=$arr_sdate[2];
$date0=$year.$month.$day;//拼接日期,形成形如20190610的日期数据
$arr_time=explode(":",$column);
$time=$arr_time[0].$arr_time[1]."00";//拼接时间,形成形如120000的时间数据
$date1=$date0.$time;//拼接日期+时间
$change="INSERT INTO `t_schedule`(`tid`,`datetime`) VALUES ('$uid','$date1')";
try
{
$res=mysqli_query($link,$change);
}
catch(Exception $err)
{
echo $err->getMessage();
$dbh=null;
}
实现效果: