+-
如何解决SQLSTATE [23000]:违反完整性约束:1062重复输入?
这是我的 MySQL错误.

SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '' for key 2

我用谷歌搜索并阅读了一些有关它的内容,我听不懂.

怎么解决呢?

这是addStudent.php的主要部分:

require_once('../db.php');
$db = new DB();
if (isset($_POST['st_fname']) && isset($_POST['st_lname']) && isset($_POST['st_class']) && isset($_POST['st_grade']))
{
    $db->addStudent($_POST["st_fname"], $_POST["st_lname"], $_POST["st_class"], $_POST["st_grade"], $_POST["checkOlamp"]);
}

这是db.php的一部分:

public function addStudent($fname, $lname, $classnum, $grade, $olamp)
{
    $query = "INSERT INTO t_student (s_fname, s_lname, s_class, s_grade, s_olamp) VALUES('$fname', '$lname', '$classnum', '$grade', '$olamp');";
    $this->execute($query);
}

并且t_student具有作为自动增量的主键字段.

> db.php是我一直使用的东西,而不是php中的mysql_connection函数,但我不知道它到底是什么.我知道在那里使用了一种称为“ PDO”的东西.

最佳答案
这意味着表中某列的值必须唯一,并且您正在尝试插入重复的行.

顺便说一句,您的函数容易受到SQL注入的攻击,在将数据包括在SQL查询中之前,应始终对其进行转义.

点击查看更多相关文章

转载注明原文:如何解决SQLSTATE [23000]:违反完整性约束:1062重复输入? - 乐贴网