I'm tired and just can't see where this error is. Hoping a fresh set of eyes will see it:
Error:
Notice: statement failed: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"INSERT INTO user (login, password, first_name, last_name, email, `' at line 1
[FONT="Courier New"]"INSERT INTO user
(login, password, first_name, last_name, email, admin_level, date_registered)
VALUES (?, AES_ENCRYPT(?, 'xxxxxx'), ?, ?, ?, ?, ?)";
[/FONT]
Applicable code:
$sql = <<<END
"INSERT INTO `user`
(`login`, `password`, `first_name`, `last_name`, `email`, `admin_level`, `date_registered`)
VALUES (?, AES_ENCRYPT(?, '{$this->seed}'), ?, ?, ?, ?, ?)";
END;
$statement = $this->db->prepare($sql);
if($statement === false)
{
user_error('statement failed: '.$this->db->error."<pre>$sql</pre>");
}
The same exact $this->db->prepare($sql) works just fine for this update query:
$sql = <<<END
UPDATE `user` SET
`login` = ?,
`password` = AES_ENCRYPT(?, '{$this->seed}'),
`first_name` = ?,
`last_name` = ?,
`email` = ?,
`admin_level` = ?,
`date_registered` = ?
WHERE `user_id` = {$this->id}
END;
user table:
CREATE TABLE `user` (
`user_id` int(10) unsigned NOT NULL auto_increment,
`login` varchar(16) collate latin1_general_ci NOT NULL,
`password` mediumblob NOT NULL,
`first_name` varchar(32) collate latin1_general_ci NOT NULL,
`last_name` varchar(32) collate latin1_general_ci NOT NULL,
`email` varchar(255) collate latin1_general_ci NOT NULL,
`admin_level` tinyint(3) unsigned NOT NULL default '0',
`date_registered` datetime NOT NULL,
PRIMARY KEY (`user_id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci COMMENT='Site users' AUTO_INCREMENT=2 ;