Ошибка в php коде, вызов функции-члена prepare () с нулевым значением

<?php

    $connection = new PDO('mysql:host=localhost;dbname=form;', 'root', 'root');
    if (!$connection) 
    {   
        die('Error connect to DataBase');
    }

?>
$('.btn').click(function (e) {
    e.preventDefault();  
  
    let
        name = $('input[name="name"]').val(),
        phone = $('input[name="phone"]').val(),
        mail = $('input[name="mail"]').val(),
        messege = $('textarea[name="messege"]').val(),
        sum = 100,
        order = 100;
  
    let formData = new FormData();
        formData.append('name', name);
        formData.append('phone', phone);
        formData.append('mail', mail);
        formData.append('messege', messege);
        formData.append('sum', sum);
        formData.append('order', order);


    $.ajax({
      url: '../vendor/add.php',
      type: 'POST',
      dataType: 'json',
      processData: false,
      contentType: false,
      cache: false,
      data: formData,
      success (data) {
          console.log(data)
        if (data.status) {
            alert(data.message);
        } else {
            alert(data.message);
        }
      }
    }); 
});

В add.php в 40 строке появляется ошибка, Fatal error: Uncaught Error: Call to a member function prepare() on null in C:\Users\name\Desktop\OpenServer\domains\forma\vendor\add.php:40 Stack trace: #0 {main} thrown in C:\Users\name\Desktop\OpenServer\domains\forma\vendor\add.php on line 40

<?php

    require_once 'connect.php';

    $name = trim(htmlspecialchars($_POST['name']));
    $phone = trim(htmlspecialchars($_POST['phone']));
    $mail = trim(htmlspecialchars($_POST['mail']));
    $messege = trim(htmlspecialchars($_POST['messege']));
    $sum = $_POST['sum'];
    $order = $_POST['order'];

    $error_fields = [];

    if (empty($name)) {
        $error_fields[] = 'name';
    }
    if (empty($phone)) {
        $error_fields[] = 'password';
    }
    if (empty($mail)) {
        $error_fields[] = 'mail';
    }
    if (empty($messege)) {
        $error_fields[] = 'messege';
    }

    if (!empty($error_fields)) {
        $response = [
            "status" => false,
            "type" => 1,
            "message" => "Проверьте правильность полей",
            "fields" => $error_fields
        ];

        echo json_encode($response);

        die();
    }
    // В этом месте
    $add = $connection->prepare("INSERT INTO `form` (`id`, `Имя`, `Телефон`, `Email`, `Сообщение`, `Сумма`, `idуслуг`) VALUES (NULL, :name, :phone, :mail, :messege, '$sum', '$order')");
    $arr = ['name'=>$name, 'phone'=>$phone, 'mail'=>$mail, 'messege'=>$messege];
    $add->execute($arr);
    $response = [
        "status" => true,
        "message" => "Заказ добавлен!",
    ];
    echo json_encode($response);
?>

Ответы (0 шт):