从列中选择时间的日期时间格式为sql

时间:2013-04-27 01:07:01

标签: php mysql datetime select

这是mysql数据

--
-- Table structure for table `pending_accounts`
--

CREATE TABLE IF NOT EXISTS `pending_accounts` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `username` varchar(15) NOT NULL,
  `jdate` datetime NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 COMMENT='Pending accounts' AUTO_INCREMENT=4 ;

--
-- Dumping data for table `pending_accounts`
--

INSERT INTO `pending_accounts` (`id`, `username`, `jdate`) VALUES
(3, 'admin', '2013-04-26 01:57:24');

和我的php和sql代码

$last_update = time();  // for example 1367022789


 $q = $db->fetchOne("SELECT * FROM pending_accounts WHERE '".strtotime(jdate)."' < '".$last_update."' ORDER BY id ASC");

正如您所见,我正在尝试选择jdate&lt;所有待定帐户$ LAST_UPDATE $ last_update是time()数字格式,如'1367022789',所以我使用strtotime()将jdate更改为具有日期时间格式,如'2013-04-26 01:57:24'为numburic格式。

,不幸的是,这不能正常工作。

请问好吗?

谢谢。

1 个答案:

答案 0 :(得分:4)

此行无效:

'".strtotime(jdate)."' < '".$last_update."'

您正在尝试将常量转换为这样的时间戳。

您可能打算在mysql中使用UNIX_TIMESTAMP函数。

"SELECT * FROM pending_accounts WHERE UNIX_TIMESTAMP(`jdate`) < '".$last_update."' ORDER BY id ASC"