快速而肮脏:我想仅使用 INSERT 权限检查特定行是否已存在。
说明
出于安全目的,我已将我的数据库帐户限制为 INSERT 权限。我意识到在 mysqli_real_escape_string 之后还有其他步骤要采取,但作为 PHP 和 MySQL 的新手,我认为这是阻止注入的最佳方法。
提交后,表单会进行验证检查并尝试创建行,然后通过或捕获 1062 错误并说用户名已经存在。
我现在想使用同一个数据库帐户实现一个抢占式 AJAX 调用。我考虑过发布一个虚拟更新语句(不做任何更改)来检查重复项,但显然没有 SELECT 权限会失败。SELECT right 是我试图避免的主要选择;这是幼稚的吗?解决这个问题的正确方法是什么?