PHP注册-don';不允许重复行

PHP注册-don';不允许重复行,php,Php,这是我的PHP代码,我使用了mobile\u number作为主键,我想从Android应用程序中插入新用户,其中没有基于mobile\u number的重复用户 <?php require_once __DIR__ . '/db_connect.php'; $db = new DB_CONNECT(); $link = mysqli_connect("localhost", "root", "", "blood"); $response = array() if ( isset($_PO

这是我的PHP代码,我使用了
mobile\u number
作为主键,我想从Android应用程序中插入新用户,其中没有基于
mobile\u number
的重复用户

<?php
require_once __DIR__ . '/db_connect.php';
$db = new DB_CONNECT();
$link = mysqli_connect("localhost", "root", "", "blood");
$response = array()
if ( isset($_POST['frist_name'])&& isset($_POST['last_name'])&&isset($_POST['gendar']) &&isset($_POST['don_date'])&&isset($_POST['birth_date'])&& isset($_POST['blood'])&&isset($_POST['mobile_number']) && isset($_POST['pass'])  && isset($_POST['email'])) 
{   

$frist_name = $_POST['frist_name'];
$last_name = $_POST['last_name'];
$gendar = $_POST['gendar'];
$don_date = $_POST['don_date'];  
$birth_date = $_POST['birth_date']; 
$blood=$_POST['blood'];
$mobile_number = $_POST['mobile_number'];
$pass = $_POST['pass'];
$email = $_POST['email'];  



$result = mysqli_query($link,"Insert into login(frist_name,last_name,gendar,don_date,birth_date,blood,mobile_number,pass,email,latitude,longitutde,address) values('$frist_name','$last_name','$gendar','$don_date','$birth_date','$blood','$mobile_number','$pass','$email','0','0','not iserted')");

if ($result)
{

    $response["success"] = 1;
    $response["message"] = "Registration successfully.";    
     echo json_encode($response);

}
else
{
  $response["success"] = 0;
  $response["message"] = "Oops! An error occurred.";
  echo json_encode($response);  
}
您可以在调用
mysql\u query()
函数后立即使用PHP。这些函数包括有关数据库最新操作的错误和错误号的详细信息。用密码说:

if ($result)
{
  $response["success"] = 1;
  $response["message"] = "Registration successfully.";    
  $response["errno"] = mysqli_errno($link);
  $response["error"] = mysqli_error($link);
  echo json_encode($response);
}
else
{
  $response["success"] = 0;
  $response["message"] = "Oops! An error occurred.";
  $response["errno"] = mysqli_errno($link);
  $response["error"] = mysqli_error($link);
  echo json_encode($response);
}
只需确保不要在mysqli_query()和上述部分之间对数据库运行任何操作


然后,使用error&errno,您可以让用户知道有人已使用其手机号码注册。

当db阻止用户注册时,这意味着用户已注册:]

else
{
  $response["success"] = 0;
  $response["message"] = "an user alredy registered";//this is solution
  echo json_encode($response);  
}

您可以尝试使用唯一约束更改数据库中的“手机号码”列。这样,当存在重复的移动电话号码时,db将不允许您插入数据,并返回错误

下面是关于SQL唯一约束的描述。希望这有帮助


只是说说而已,但是你的列名和插入的数据中有很多拼写错误。我们叫他,关于这个话题,你到底有什么问题?如果手机号码是主要的,那么如果你有完全相同的严格验证,那么每个手机号码就不能有重复的行。为什么不使用手机号码作为主要列?我使用主键作为主要列,数据库将防止重复行,我如何将此响应转换为php和android应用程序上的用户??