php - 在使用mysql更新数据期间如何检查输入的字段是否已经存在
问题描述
更新.php
<?php
include_once("connection.php");
$name=$_REQUEST['name'];
$email=$_REQUEST['email'];
$mobno=$_REQUEST['mobno'];
$id=$_REQUEST['id'];
$checkemail="SELECT * FROM dhruv_users WHERE email= '$_REQUEST[email] AND id='$id'";
$checkmob="SELECT * FROM dhruv_users WHERE mobno= '$_REQUEST[mobno]' AND id='$id'";
$rsemail = mysqli_query($conn,$checkemail);
$rsmob = mysqli_query($conn,$checkmob);
$dataemail = mysqli_num_rows($rsemail);
$datamob = mysqli_num_rows($rsmob);
if($dataemail >= 1 && $datamob >= 1) {
echo "data_exists";
}
else{
$query=mysqli_query($conn,"update dhruv_users set name='$name',email='$email',mobno='$mobno' where id='$id'");
if($query){
echo "success";
}
else
{
echo "unsuccess";
}
}
?>
好的,这是问题所在,我想在更新电子邮件或手机号码时检查电子邮件 ID 和手机号码是否已被其他人占用。但是当我提交数据时,它显示电子邮件 ID 已被使用,因为我已经在使用该电子邮件 ID 和手机号码。
我想检查其他人而不是我是否使用该电子邮件 ID 和手机号码。
解决方案
我只是重新编写您的代码并更改它的某些部分,以便它可以给您想要的结果。但在此之前,我会建议你阻止注入并使用 mysqli,而不是旧的。
<?php
include_once("connection.php");
$name=$_REQUEST['name'];
$email=$_REQUEST['email'];
$mobno=$_REQUEST['mobno'];
$id=$_REQUEST['id'];
$sql_check = "SELECT * FROM dhruv_users WHERE email = '".$email."'
OR mobno = '".$mobno."'" ;
$res_check = mysql_query($sql_check) ;
$row_check = mysql_fetch_array($res_check) ;
if(!empty($row_check)){
echo "data_exists";
}
else{
$query=mysqli_query("update dhruv_users set name='$name', email ='$email', mobno ='$mobno' where id='$id'");
if(mysql_affected_rows() > 0){
echo "Success" ;
}
else{
echo "Update unsuccessful" ;
}
}
?>
推荐阅读
- javascript - 意外的令牌“”(0x201C)
- javascript - 获取倒数计时器的自定义属性值(计时器显示 NaN)
- javascript - 组件正在更改受控输入。反应
- java - next() 不允许“空白”和 nextLine() 一起跳过“sodaType”
- mysql - 如何检查两个多对多表的相交?
- javascript - 尝试使用谷歌表格中的谷歌应用程序脚本将电子邮件导出到 sendgrid 帐户)?
- python - 访问 multiprocessing.reduction 时,'bool' 对象不可调用?
- ironpython - 如何在 Revit Api 中从 IronPython 中的 Elements ID 制作列表
- react-native - React Native - 使用 Navigation.push() 时打开抽屉不起作用
- javascript - 反应:从状态更改进度条的宽度