php - MySQL查询错误处理日期字段

标签 php mysql date

我有一个 PHP/MySQL 脚本在日期字段上产生奇怪的结果。在整个过程中,我的约会一直到最后都很好。最终结果在日期字段中的每个条目都是“0000-00-00”。我完全被困住了,不知道还能做什么。我可以说这是 PHP 没有将其解释为日期的问题,但我不知道如何解决。这是我的代码:

$sql = "CREATE TABLE temp_workouts (my_date date, sg_id int(11), loc_id int(11))";
$result = mysql_query($sql);
if (!$result) {
    $tag_success = "failure";
    $tag_message = mysql_error();
    echo encodeJSON($tag_success, $tag_message);
    die();
}

$sql = "SELECT * FROM my_table";
$result = mysql_query($sql);

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    $my_date = $row['my_date'];
    echo $my_date . " ";   //<--this output looks perfect
    $sql = "INSERT INTO temp_table (my_date) VALUES ($my_date)";
    $result2 = mysql_query($sql);
}
die();  

当我转到 MyPHPAdmin 并查看表格时,整个 my_date 列都包含“0000-00-00”。我怎样才能让 PHP 将其识别为“Y-m-d”格式的日期?谢谢。感谢您的帮助。

最佳答案

我怀疑问题是您没有用单引号括起字符串文字:

 INSERT INTO temp_table (my_date) VALUES ('$my_date')
                                          ^---     ^--- string literals in single quotes

否则,声明可能是这样的:

 ... VALUES (2013-08-22)

MySQL 不会将其转换为有效日期、发出警告消息并插入“零”日期。

关于php - MySQL查询错误处理日期字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18393938/

相关文章:

mysql - 如何根据另一个表中的数据对mysql中的项目进行排序?

java - java中将时间戳转换为特定格式(年、月、周、日、时、时、分、秒)

PHP MySql - 选择 similar_text()>x

php - 如果分类与当前类别匹配,则将帖子显示为特色

php - PHP 中的字符串和 "binary"字符串有什么区别?

php - 将变量附加到 php 插入中的字符串

mysql - 无法连接到 mysql 数据库 ubuntu 20.4 (VPS) "ModuleNotFoundError: No module named ' MySQLdb'"

sql - 如何在 SQL 中搜索日期?

date - 将纪元时间转换为时间戳 flutter

php - 在查询生成器上转换日期查询