SyntaxError:在XMLHttpRequest.url {} [重复]的JSON.parse(<anonymous>)的位置0的JSON中的意外的标记<

Connecting database to angular to insert values using PHP.
I am not familiar with PHP. Explain details from scratch.

None of the method is not working for me

<?php
require 'connect.php';

// Get the posted data.
$postdata = file_get_contents("php://input");

if(isset($postdata) && !empty($postdata))
{
  // Extract the data.
  $request = json_decode($postdata);


  // Sanitize.

  $fullname = mysqli_real_escape_string($con, trim($request->data->fullname));
  $email = mysqli_real_escape_string($con, trim($request->data->email));
  $phonenumber = mysqli_real_escape_string($con, trim($request->data->phonenumber));
  $dob = mysqli_real_escape_string($con, trim($request->data->dob));
  $gender = mysqli_real_escape_string($con, trim($request->data->gender));
  $nationality = mysqli_real_escape_string($con, trim($request->data->nationality));
  $mothertongue = mysqli_real_escape_string($con, trim($request->data->mothertongue));
  $photograph = mysqli_real_escape_string($con, trim($request->data->photograph));


  // Store.
  $sql = "INSERT INTO `loyola_personal_info`(`id`,`fullname`,`email`,`phonenumber`,`dob`,`gender`,`nationality`,`mothertongue`,`photograph`) VALUES (null,'{$fullname}','{$email}','{$phonenumber}', '{$dob}','{$gender},'{$nationality}','{$mothertongue}','{$photograph}')";

  if(mysqli_query($con,$sql))
  {

    $personal = [
      'fullname' => $fullname,
    'email' => $email,
    'phonenumber' => $mobile,
    'dob' => $dob,
    'gender' => $gender,
    'nationality' => $nationality,
    'mothertongue' => $mothertongue,
    'photograph' => $photograph,
    'id'    => mysqli_insert_id($con)
  ];
    echo json_encode(['data'=>$personal]);
  }
  else
  {
    http_response_code(422);
  }
}

error:

SyntaxError: Unexpected token < in JSON at position 0 at JSON.parse () at XMLHttpRequest.url

</div>