尝试重置 Joomla 密码时出现 MySQL 语法错误

尝试重置 Joomla 密码时出现 MySQL 语法错误

我正在尝试通过在 MySQL 中执行以下代码来重置我的 Joomla 管理员密码:

INSERT INTO `jos_users` (`id`,`name`, `username`, `password`, `params`)
VALUES (LAST_INSERT_ID(),'Administrator2', 'admin2',
'd2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199', '');

INSERT INTO `jos_user_usergroup_map` (`user_id`,`group_id`)
VALUES (LAST_INSERT_ID(),'8');

当我尝试执行它时,出现以下错误:

Failed to execute SQL : SQL INSERT INTO `jos_users` (`id`,`name`, `username`, `password`, `params`) VALUES (LAST_INSERT_ID(),'Administrator2', 'admin2', 
'd2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199', ''); INSERT INTO
`jos_user_usergroup_map` (`user_id`,`group_id`) VALUES (LAST_INSERT_ID(),'8'); 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 `jos_user_usergroup_map` (`user_id`,`group_id`) VALUES (LAST_INSERT_' at line 1

有人能告诉我我的语法可能哪里错了吗?我使用的是 MySQL 版本 5.0.95。

答案1

如果您不使用,请在列名密码周围使用反引号 (`)(密码是 MySQL 中的保留符号)。不要在第一个查询中使用 LAST_INSERT_ID(),因为您尚未向此表添加任何记录。查询将

INSERT INTO jos_users (`name`, `username`, `password`, `params`) 
VALUES ('Administrator2', 'admin2', 'd2064d358136996bd22421584a7cb33e:trd7TvKHx6dMeoMmBVxYmg0vuXEA4199', '');

INSERT INTO `jos_user_usergroup_map` (`user_id`,`group_id`)
VALUES (LAST_INSERT_ID(),'8');

确保在同一个会话中运行这些查询。

相关内容