PHP MySQL检查行是否存在

时间:2014-02-16 12:15:36

标签: php mysql sql

我为员工构建了一个登录信息,现在我正在为每个输入字段创建验证。如果我有一个名为 pages 的表,并且在该表中,我有一个名为 title 的列字段。作为一个例子,我创建了一个虚拟标题我的新标题

我创建了一个让我们的用户创建新页面的功能,我希望能够检查我们的数据库中是否已存在该标题。

例如,如果用户输入我的新标题并提交表单,则会收到包含以下文字的错误消息:Sorry, your title already exists

我知道我这里没有提供太多信息,但我从头开始就是这个。我知道如何检查数字是否相同,或者两个输入字段/数据库行是否相互匹配。这可能很简单,但我真的无法理解。

如果您对此有一个简单的解决方案,我将非常感激。继续美好的一天:)

2 个答案:

答案 0 :(得分:2)

您可以通过以下方式实现这一目标:

  1. 为列标题
  2. 添加唯一约束
  3. 使用 INSERT ... ON DUPLICATE KEY UPDATE 语句
  4. 如果返回的结果超过0,则在插入该列值之前执行查询。喜欢:SELECT * FROM 页面 WHERE 标题 =' new_title';

答案 1 :(得分:0)

解决方案取决于验证的哪一方

客户端:

我建议使用jquery validate,它有一个使用ajax调用验证的选项,ajax会调用的函数如下所示

服务器端:

我会创建一个查询页面表查找已发布页面标题的函数,如果查询没有返回结果,则可以继续安全,否则标题存在,您可以显示错误

查询类似于

SELECT title FROM page WHERE title = $_POST['title']