php - 在php,mysql中插入记录重复
问题描述
我有时注意到在数据库中插入时有重复的数据。它并不总是发生,但这里可能是什么问题?这是我的代码。
$sql = $conn->query("INSERT INTO registration(lrn, department_id, fname, mname, lname, contact_no, email, persontocontact, emergency_contact, agreement, statuss) VALUES('".$_POST['userid']."','".$_POST['departmentid']."', '".$_POST['fname']."', '".$_POST['mname']."', '".$_POST['lname']."', '".$_POST['contact_no']."','".$_POST['email']."', '".$_POST['persontocontact']."', '".$_POST['emergency_contact']."', '".$_POST['agreement']."', 'pending')");
if($sql->rowCount() > 0){
echo "success";
}
解决方案
它有时只发生意味着不是代码在做它,而是用户操作,如在该页面上刷新。
您应该使其更加安全并处理刷新情况,但要回答您的问题,请使用此代码。
$checkid = $_POST['userid'];//Specifically taking it here so you can know this is what we are looking for.
$sql = $conn->query("Select * from registration WHERE lrn = '$checkid'");
if($sql->rowCount() > 0){
echo "User Already Exists";
}
else
{//Move forward
$sql = $conn->query("INSERT INTO registration(lrn, department_id, fname, mname, lname, contact_no, email, persontocontact, emergency_contact, agreement, statuss) VALUES('".$_POST['userid']."','".$_POST['departmentid']."', '".$_POST['fname']."', '".$_POST['mname']."', '".$_POST['lname']."', '".$_POST['contact_no']."','".$_POST['email']."', '".$_POST['persontocontact']."', '".$_POST['emergency_contact']."', '".$_POST['agreement']."', 'pending')");
if($sql->rowCount() > 0){
echo "success";
}
}//Main if closes here
推荐阅读
- python - 部分显示 Python 的滚动条
- react-native - 按钮处理函数卡在模态响应用户点击
- macos - 如何在 Mac OS 上安装特定版本的 minikube?
- notepad - 为什么我在记事本文档中输入的代码不会在 Web 浏览器上显示?
- windows - Windows Performance Analyzer (WPA) 中的 CPU(采样)图未显示
- c++ - 使用模板的节点队列
- reactjs - 导入变量 scss
- c# - 为字典生成招摇
- python - PyQT:如何在主线程上调用函数并获取结果(不预先存储结果)?
- firebase - 使用 image_picker 访问图像然后将其发送到 Firebase 存储时出现 BackgroundSession 和守护程序错误