更新查询时设置日期列的格式


format date column when update query

我的日期类型是date,数据是2010-08-01 我在回显时从 Y-m-d 转换为 d-m-Y输出 - 01-08-2010

回显码

<td width="50%" class="pk_2"><input name="personal_ic_from" type="text" class="tcal" id="personal_ic_from" value="<?php
echo date_create($personal_ic_from)->format('d-m-Y');
?>" readonly="readonly"/>
          </td>

我应该在更新查询中添加什么才能从 d-m-Y 转换为 Y-m-d。我发现我的数据库无法存储新的日期数据,因为数据库格式date Y-m-d

更新代码

<?php 
$personal_ic_from = $_POST['personal_ic_from'];
mysql_query("UPDATE personal_id_ic SET personal_ic_from = '".mysql_real_escape_string($_POST["personal_ic_from"])."'  WHERE LAS_login_id = '".mysql_real_escape_string($_POST["LAS_login_id"])."'");
?>

请参考 STR_TO_DATE()。您的查询应如下所示,

mysql_query("UPDATE personal_id_ic SET personal_ic_from = STR_TO_DATE('".mysql_real_escape_string($_POST["personal_ic_from"])."','%Y-%m-%d')  WHERE LAS_login_id = '".mysql_real_escape_string($_POST["LAS_login_id"])."'");

只需在查询中使用STR_TO_DATE函数,即 mysql 函数。http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_str-to-date

"更新personal_id_ic设置personal_ic_from = STR_TO_DATE('".mysql_real_escape_string($_POST["personal_ic_from"])."','%d-%

m-%Y') 其中LAS_login_id = '".mysql_real_escape_string($_POST["LAS_login_id"])。

我最近在这个论坛上了解了"爆炸",并像这样实现它:

$frontenddob = $POST['dob'];    
list ($m, $d, $y) = explode('/', $frontenddob);    
$dob = sprintf("%04d-%02d-%02d", $y, $m, $d);

您可以使用它在日期格式之间进行转换,并且不会遇到 strtotime 日期限制的问题。

Try this code
<?php 
$personal_ic_from = $_POST['personal_ic_from'];
$personalDate=date_create($personal_ic_from);
$pdate=date_format($personalDate,"d-m-Y");
mysql_query("UPDATE personal_id_ic SET personal_ic_from ='".mysql_real_escape_string($pdate)."'  WHERE LAS_login_id = '".mysql_real_escape_string($_POST["LAS_login_id"])."'");
?>
<?php 
 $personal_ic_from = date("Y-m-d", strtotime($_POST['personal_ic_from']));
 mysql_query("UPDATE personal_id_ic SET personal_ic_from = '".mysql_real_escape_string($personal_ic_from)."'  WHERE LAS_login_id = '".mysql_real_escape_string($_POST["LAS_login_id"])."'");
?>

试试这个。这将解决您的问题。