php - Mysql Datetime字段,使用php只更新日期

标签 php mysql datetime

我在 MYSQL 中仅更新日期时间字段类型中的日期时遇到问题。

我正在使用 PHP 从用户 (dd/mm/yyyy) 获取输入,并使用 UPDATE mysql 语句仅更改日期。但是日期时间字段只显示 0000-00-00 00:00:00。

下面的代码只是在从使用 XMLHttprequest 传递值的 php 获取输入后更新表的 php 文件。

请看下面我的代码:

<?php include 'accesscontrol.php'; ?>
<?php
$q4=$_GET["q4"];

$user = $_SESSION['user'];

$date_array = explode( "/", $q4 );
$new = sprintf( '%4d-%02d-%02d', $date_array[2], $date_array[1], $date_array[0] );


$con = mysql_connect("localhost","tst","tst!@#");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("test", $con);

mysql_query("UPDATE INVHDR_edit SET Invdate= concat ('$new', time(Invdate)) WHERE usr='$user'");


if (!mysql_query($sql,$con))
  {
  die('Error: ' . mysql_error());
  }

mysql_close($con);
?>

最佳答案

试试这个

<?php include 'accesscontrol.php'; 
$q4 = $_GET["q4"];
$user = $_SESSION['user'];
$dateSql = date("Y-m-d H:i:s",strtotime($q4));
$con = mysql_connect("localhost","tst","tst!@#");
if (!$con){
  die('Could not connect: ' . mysql_error());
}
mysql_select_db("test", $con);
mysql_query("UPDATE INVHDR_edit SET Invdate= '$dateSql' WHERE usr='$user'");
if (!mysql_query($sql,$con)){
  die('Error: ' . mysql_error());
}
mysql_close($con);
?>

关于php - Mysql Datetime字段,使用php只更新日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13720920/

相关文章:

php - 我们如何检查我们是否在本地主机上运行 PHP 脚本?

php - PHP Elasticsearch 全文搜索-按相关性排序

mysql - 从具有 "and"条件和 MIN() 函数的两个表中选择

java - 在不重启服务器的情况下处理 Tomcat 中的夏令时

c# - 如何使用 LinqToSql 查询特定日期时间

javascript - 重定向页面而不在 php 中运行 javascript

php读取mysql位域返回奇怪的字符

php - mysqldump 不适用于 PHP,只能在命令行中使用

r - 将相似的时间分组在一起

php - 为 Node.js 实现 PHP 兼容的 memcache 客户端