这是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格式。
,不幸的是,这不能正常工作。
请问好吗?
谢谢。
答案 0 :(得分:4)
此行无效:
'".strtotime(jdate)."' < '".$last_update."'
您正在尝试将常量转换为这样的时间戳。
您可能打算在mysql中使用UNIX_TIMESTAMP函数。
"SELECT * FROM pending_accounts WHERE UNIX_TIMESTAMP(`jdate`) < '".$last_update."' ORDER BY id ASC"