我是joomla的新手。我正在使用Joomla 1.5。我已将数据库表中的字段声明为唯一。让我们假设,我已将“用户名”声明为唯一。我在管理员/组件部分创建了一个名为“com_user”的组件。现在,当我第一次添加用户“xyz123”时,它还可以。但是,在下一次输入时,当我输入相同的值时,它应该生成错误,显示错误消息,显示“用户名应该是唯一的”或某事。像这样 。怎么办呢?
答案 0 :(得分:0)
执行此操作的最佳方法是在尝试将用户插入数据库以查看用户是否已存在之前,先执行“select count(*)from ...”。显示错误,警告和通知的最佳方法是使用JError类
第二种方法是使用DBO对象的getErrorNum()和getErrorMsg()方法。 有关此内容的更多信息:http://www.joomladin.com/index.php/tutorials/34-module-development/54-exception-handling.html虽然我确实相信在使用第二种方法时,用户仍然可能会看到一个大红色的“数据库错误:重复密钥...”消息。
答案 1 :(得分:0)
查询失败时,store()
类的JTable
方法应返回false
,因此您可以使用此方法确定何时输入重复记录。但是,当查询因其他原因(数据库连接丢失等等)失败时,store()
方法也会返回false
。