我正在用php编写一个查询,使用从android java应用程序发送的字符串。
该查询类似于:
$insertSQL = sprintf("INSERT INTO app_DuckTag (taste) VALUES (%s) WHERE species=%s AND timestamp=%s",
GetSQLValueString($_POST['taste'], "text"),
GetSQLValueString($_POST['species'], "text"),
GetSQLValueString($_POST['timestamp'], "text"));但我怀疑时间戳是否以字符串的形式存储在MySQL中。
如何将字符串转换为MySQL中的时间格式?
strtotime(string) php函数将其转换为unix时间。
但我猜,MySQL存储它的方式不同。谢谢。
编辑:这是它在MySQL中的显示方式: 2011-08-16 17:10:45
编辑:我的查询是错误的。Cannon使用带有Insert into的where子句。
查询必须更新....设置... = ...哪里..。
但公认的答案是在WHERE子句中使用时间的正确方式。
发布于 2011-08-19 03:48:21
这应该是全部内容:
date("Y-m-d H:i:s", strtotime($_POST['timestamp']));如果要检查时区等,则应该使用strftime而不是date
发布于 2011-08-19 03:30:35
如果您可以将输入'string‘(您尚未提供接收它的格式)转换为Unix时间戳值,则可以轻松地将其转换为如下所示的MySQL日期时间格式:
$mysqldatetime = date("Y-m-d H:i:s", $unixTimeStampValue);这将生成一个类似于以下内容的字符串:
2011-08-18 16:31:32
这是MySQL日期时间格式的格式。如果使用不同的时间格式,则date函数的第一个参数将不同。
有关详细信息以及格式化其返回值的其他方法,请参阅date函数的手册。
编辑
您正在接收MySQL datetime格式的字符串。清理后,可以直接将其插入到数据库中。对于MySQL来说,它可能是一个'datetime‘数据类型,但对于PHP来说,它只是一个字符串(就像你的整个SQL查询对PHP来说只不过是一个字符串)。
$timestamp = mysql_real_escape_string($_POST['timestamp']);您应该能够安全地将其插入到数据库中的时间戳字段中。
发布于 2011-08-19 03:55:06
在mysql中有一个函数FROM_UNIXTIME。你为什么不想用它呢?
https://stackoverflow.com/questions/7112982
复制相似问题