+-
![如何解决SQLSTATE [23000]:违反完整性约束:1062重复输入? 如何解决SQLSTATE [23000]:违反完整性约束:1062重复输入?](/img/no_img.png)
这是我的 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重复输入? - 乐贴网