你好我有以下PDO插入到数据库函数中,我如何检查数据库中是否存在这样一个已记录的错误,用户已经注册了这些信息?我的表是组织这样的PDO INSERT不会在mysql中注册重复的记录
id | curso_id | user_id
1 | 12 | 43
2 | 5 | 56
因此,如果数据库里curso_id的组合= 12,USER_ID = 43是不注册这样的第二个,给错误。
$userid = $_SESSION['userID'];
$cursoid = $_GET["id"];
try {
$con = new PDO(DB_DSN, DB_USERNAME, DB_PASSWORD); //our new PDO Object
$con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $con->prepare("Insert Into subscriptions (curso_id, user_id) Values ('$cursoid', '$userid')");
$stmt->execute();
} catch (PDOException $e) {
echo "I'm sorry there is a problem with your operation.."; $e->getMessage(); //catch and show the error
}
$con = null;
header('Location: cursos.php') ;
}
感谢您的帮助提前
就在方评论,你不使用准备好的语句。 – Mihai
$ userid来自会话中的有用用户。而$ cursoid来自另一个数据库sqlquery,它显示数据库中的文章 –
这个想法是将两个列进行合并,并且如果在插入的内容上存在匹配,则会发生错误,以避免重复记录。 $ userid它总是> 0,因为在每一个插入你在这两列上插入的东西。 –