所以我试图将记录输入数据库。一切都插入正常,但我如何检查/确保我没有将相同的信息插入数据库。我尝试了以下代码,但它总是插入信息,无论它是否相同。我怎样才能检查和停止重复的条目?
try {
$link = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbusername, $dbpassword);
$link->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$query = "INSERT INTO `users`(`name`, `username`, `avatar`) VALUES (:name, :username, :avatar)";
$statement = $link->prepare($query);
$statement->execute(array(
':name' => $_POST['name'],
':username' => $_POST['username'],
':avatar' => $_POST['avatar']
));
echo 'added!';
} catch(PDOException $e) {
if ($e->errorInfo[1] == 1062) {
// duplicate entry, do something else
echo 'this user has already been added';
} else {
// an error other than duplicate entry occurred
echo "Exception caught: $e";
}
}
答案 0 :(得分:1)
我假设这是您不想复制的用户名,因此您可以检查行上的数据库表'用户名'独一无二。
希望它有所帮助