0
所以我一直在尝试这一整天,我觉得有一个超级简单的解决方案,我只是想念它。尝试使用此查询:插入一个ISO8601 DATETIME引发错误
INSERT INTO codes (`user_id`, `type`, `code`, `expires`) VALUES ($id, $type, $code, $expires);
这里是 “过期” 值:
2016-11-13T00:14:43.000Z
散发出来查询的错误:
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ':14:43.000Z)' at line 1
这里的数据库结构:
CREATE TABLE IF NOT EXISTS codes (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`user_id` varchar(255) NOT NULL,
`type` varchar(255) NOT NULL,
`code` varchar(255) NOT NULL,
`expires` DATETIME
)ENGINE=InnoDB;
我确实在$ expires变量上使用了real_escape_string。
任何人有任何建议吗?
“字段列表”中的未知列'Subscriber'。 $ type变量是“Subscriber”。 我以前试过这个时出现这个错误。有任何想法吗? – Nick
@尼克,同样的问题。这是一个字符串,它需要引用'$ type'变量,否则数据库会认为您正在尝试引用数据库对象。 –
我觉得很愚蠢。非常感谢你的解释<3 – Nick