【问题标题】:PHP MySQL syntax for inserting date,time用于插入日期、时间的 PHP MySQL 语法
【发布时间】:2009-05-03 08:06:20
【问题描述】:

我正在尝试使用 php 脚本插入日期、时间字段,但出现语法错误。有人可以告诉我,我在哪里做错了。 谢谢大佬们

插入日历(事件,从,到,日) 价值观 ('".$_REQUEST['event']."', '".$_REQUEST['from_time']."', '".$_REQUEST['to_time']."', '".$_REQUEST['date_event']."')

【问题讨论】:

    标签: php mysql syntax


    【解决方案1】:

    要插入到 mySQL 日期时间字段中,字符串必须采用特定格式,以便 mySQL 能够理解。问题是 php 对如何表示日期有自己的想法和想法。在处理两者之间的日期时,您必须进行翻译。

    如果在 php 中你正在处理一个时间对象,你可以这样做来得到一个字符串 mySQL 会喜欢:

    $mysqlDateString = date('Y-m-d H:i:s', $phpdate);
    

    或者如果您正在处理字符串日期,您可以这样做:

    $mysqlDateString = date('Y-m-d H:i:s', $strtotime("08/09/2009"));
    

    如果你从 mySQL 中得到一个日期时间字符串,你可以用 PHP 来处理它:

    $phpTime = strtotime($mysqlDateString);
    

    我自己也遇到了这个问题,所以希望这对你也有用。

    【讨论】:

    • @Mike:嗨,迈克。刚刚在您的代码 sn-p 中发现了一个小错字: $mysqlDateString = date('Y-m-d H:i:s', $strtotime("08/09/2009")); $ 应该从 $strtotime("08/09/2009") 中删除。 :)
    【解决方案2】:

    切勿在未清理数据的情况下将字符串数据插入 sql 语句,否则会导致 sql 注入(有意或无意注入),请参阅http://php.net/mysql_real_escape_string
    如果您没有安装调试器,让 php 打印 sql 语句以便您检查它。

    格式化和缩进您的 sql 查询。它们更容易阅读和调试。

    始终检查 mysql_query() 的返回值。如果为 FALSE,则查询失败,mysql_errno()mysql_error() 可以告诉您有关错误原因的更多信息。

    如果您想使用也是 reserved word for MySQL 的标识符,您几乎总是必须将其放在反引号 (`) 或双引号中(在 ansi 模式下)。

    MySQL 理解的日期/时间文字格式在http://dev.mysql.com/doc/refman/5.0/en/date-and-time-types.html 进行了解释

    使用 _REQUEST 进行 INSERT 操作可能会有问题......但我让其他人来回答 ;-)

    <?php
    $mysql = mysql_connect...
    
    

    $query = " INSERT INTO `calendar` (`event`, `from`, `to`, `day`) VALUES ( '" . mysql_real_escape_string($_REQUEST['event'], $mysql) ."', '" . mysql_real_escape_string($_REQUEST['from_time'], $mysql) ."', '" . mysql_real_escape_string($_REQUEST['to_time'], $mysql) ."', '" . mysql_real_escape_string($_REQUEST['date_event'], $mysql]) ."' ) "; echo '<pre>$query=', htmlspecialchars($query), '</pre>'; $result = mysql_query($query, $mysql); if ( !$result ) { echo 'error: ', mysql_error($mysql); }

    顺便说一句:改用prepared statements

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-08-20
      • 1970-01-01
      • 2016-04-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-13
      • 2011-02-25
      相关资源
      最近更新 更多