解决joomla中唯一键问题

发布于 2024-08-23 18:53:31 字数 206 浏览 4 评论 0原文

我是 joomla 的新手。我正在使用 Joomla 1.5。我已将数据库表中的一个字段声明为唯一。让我们假设,我已声明“用户名”是唯一的。我在管理员/组件部分创建了一个名为“com_user”的组件。现在,当我第一次添加用户“xyz123”时,就可以了。但是,在下一次输入期间,当我输入相同的值时,它应该会生成错误,并显示错误消息,显示“用户名应该是唯一的”或其他内容。像这样 。这怎么能做到呢?

I am novice to joomla. I am using Joomla 1.5. I have declared a field in database table as unique. Lets suppose , I have declared "username" as unique . I created a component named "com_user" in the administrator/components section. Now, when I add a user "xyz123", for the first time, its ok. But, during next entry, when I enter the same value, it should generate error with displaying error message showing "Username should be unique" or sth. like this . How can this be done?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

变身佩奇 2024-08-30 18:53:31

我认为最好的方法是在尝试将用户插入数据库之前执行“select count(*) from...”以查看用户是否已存在。显示错误、警告和通知的最佳方法是使用 JError

第二种方法是使用 DBO 对象的 getErrorNum() 和 getErrorMsg() 方法。
有关详细信息,请访问:http: //www.joomladin.com/index.php/tutorials/34-module-development/54-exception-handling.html 虽然我确实相信在使用第二种方法时用户仍然可能会看到一个大红色“数据库错误:重复键...”消息。

The best way to do this I think is to just do a "select count(*) from..." before you try to insert the user into the database to see if the user already exists. The best way to display errors, warnings and notices would be to use the JError class

A second way is to use the getErrorNum() and getErrorMsg() methods of the DBO object.
More information on that here: http://www.joomladin.com/index.php/tutorials/34-module-development/54-exception-handling.html Although I do believe that while using this second method the user still might see a big red "Database Error: duplicate key..." message.

不必了 2024-08-30 18:53:31

当查询失败时,JTable 类的 store() 方法应返回 false,因此您可以使用它来确定何时出现重复记录。被输入。但是,当查询因其他原因(丢失数据库连接等)而失败时,store() 方法也会返回 false

The store() method of your JTable class should return false when the query fails, so you could use this to determine when a duplicate record is being entered. However, the store() method will also return false when the query fails for other reasons (lost database connection, etc...).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文