检查具有有限(无SELECT)权限的重复行

时间:2013-03-16 02:35:50

标签: php mysqli uniqueidentifier

快速和脏:我想仅使用INSERT权限来检查特定行是否已存在。

解释
出于安全考虑,我已将数据库帐户限制为INSERT权限。我意识到在mysqli_real_escape_string之后还有其他步骤,但作为PHP和MySQL的新手,我认为这是阻止注射的最佳方法。

提交后,表单会进行验证检查并尝试创建行,并传递或捕获1062错误,并说用户名已存在。

我现在想要使用相同的DB帐户实现抢占式AJAX调用。我考虑发布一个虚拟更新语句(不做任何更改)来检查重复,但显然没有SELECT权限就失败了。选择权是我试图避免的主要权利;这是天真的,这是什么方法可以解决这个问题?

1 个答案:

答案 0 :(得分:0)

您可以使用INSERT IGNORE INTO表

请参阅http://bogdan.org.ua/2007/10/18/mysql-insert-if-not-exists-syntax.html

有一个与您非常相似的问题:How to 'insert if not exists' in MySQL?