When I try to INSERT data into my "appointments" table using "postAppointment" function it gives an error. When I try this by writing the function's code on my own it works propperly.
The Error:
Fatal error: Uncaught mysqli_sql_exception: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '@elo.com, 3 , 2023-05-08, 09:00)' at line 1 in C:\xampp\htdocs\HealthBoyz\models\doctors.php:27 Stack trace: #0 C:\xampp\htdocs\HealthBoyz\models\doctors.php(27): mysqli_query(Object(mysqli), 'INSERT INTO app...') #1 C:\xampp\htdocs\HealthBoyz\index.php(20): Doctors->postAppointment('HWDP', 'JOTPE', 'elo@elo.com', 3, '2023-05-08', '09:00') #2 {main} thrown in C:\xampp\htdocs\HealthBoyz\models\doctors.php on line 27
// GIVES AN ERROR
<?php 
    include("./dbconfig.php");
    include("./dbconnection.php"); 
    include("./models/doctors.php");
    $db = (new DB($db_config))->getConnection();
    if (isset($_SERVER['HTTP_ORIGIN'])) {
        header("Access-Control-Allow-Origin: *");
        header("Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE, OPTIONS");
        header("Access-Control-Allow-Headers: Origin, Authorization, X-Requested-With, Content-Type, Accept");
        header('Access-Control-Allow-Credentials: true');
        header('Access-Control-Max-Age: 86400');    
    }
    
    $method = $_SERVER['REQUEST_METHOD'];
    $doctors = new Doctors($db);
    $query = $doctors->postAppointment('JOTPE','YO', 'elo@elo.com', 3, '2023-05-08', '09:00');
?>
// WORKS PROPPERLY
<?php 
    include("./dbconfig.php");
    include("./dbconnection.php"); 
    include("./models/doctors.php");
    $db = (new DB($db_config))->getConnection();
    if (isset($_SERVER['HTTP_ORIGIN'])) {
        header("Access-Control-Allow-Origin: *");
        header("Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE, OPTIONS");
        header("Access-Control-Allow-Headers: Origin, Authorization, X-Requested-With, Content-Type, Accept");
        header('Access-Control-Allow-Credentials: true');
        header('Access-Control-Max-Age: 86400');    
    }
    $method = $_SERVER['REQUEST_METHOD'];
    $doctors = new Doctors($db);
    $query = "INSERT INTO appointments (name, last_name, e_mail, doctor_id, date, time) VALUES ('JOTPE','YO', 'elo@elo.com', 3, '2023-05-08', '09:00')";
    $query_results = mysqli_query($db, $query);  
?>
// Docotrs model containing postAppointment function
<?php 
    class Doctors {
        private $db;
        public function __construct($dbdata) { 
            $this->db = $dbdata; 
        }
        public function getAllDoctors() {
            $query = "SELECT * FROM doctors";
            $query_results = mysqli_query($this->db, $query);
            $this->checkForQueryErrors($query, $query_results);
            $doctors = array();
            while($row = $query_results->fetch_assoc()) {
                array_push($doctors, array("id" => $row["id"], "name" => $row["name"], "imgUrl" => $row["img_url"], "description" => $row["description"]));
            }
            return $doctors;
        }
        public function postAppointment($name, $last_name, $e_mail, $doctor_id, $date, $time) {
            $query = "INSERT INTO appointments (name, last_name, e_mail, doctor_id, date, time) VALUES ($name, $last_name, $e_mail,  $doctor_id , $date, $time)";
            $query_results = mysqli_query($this->db, $query);
            $this->checkForQueryErrors($query, $query_results);
            return $query_results;
        }
        private function checkForQueryErrors($query, $query_results) {
            if (!$query_results) {
              throw new Exception("Error executing query: " . $query . "\nErrno: " . $this->db->errno . "\nError: " . $this->db->error . "\n");
            }
          }
    }
?>
Have anyone had similar problem and know how to solve it?
