这是我的PHP代码,我使用mobile_number
作为主键,我想从Android应用中插入新用户,其中没有基于mobile_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);
}
答案 0 :(得分:0)
您可以使用PHP的mysqli_error&amp;调用mysql_query()
函数后立即mysqli_errno。这些功能包括有关错误的详细信息。最新操作与数据库的错误号。在代码中说:
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);
}
JUST确保不要在mysqli_query()和amp;之间对数据库运行任何操作。上述部分
然后出现错误&amp;手头上的错误,您可以让用户知道某人已使用他们的手机号码注册的事实。
答案 1 :(得分:0)
当db阻止用户注册时,这意味着用户alredy注册:]
else
{
$response["success"] = 0;
$response["message"] = "an user alredy registered";//this is solution
echo json_encode($response);
}
答案 2 :(得分:0)
您可以尝试使用唯一约束更改数据库中的移动电话号码列。因此,当存在重复的移动号码时,db将不允许您插入数据并返回错误。
以下是有关SQL唯一约束的说明。希望这会有所帮助。