Can anybody please tell what is wrong with this code I have been stuck with this for hours

`$stmt = $connection->getDb()->prepare("INSERT INTO ".$table." ({$table_keys})"." VALUES({$marks})") or die($connection->getDb()->error);
    
   
$stmt->bind_param('$bind_char',$table_values) or die($connection->getDb()->error); 

$result = $stmt->execute() or die($connection->getDb()->error);
    
if(!$result){echo"problem";}else{echo"saved";} 

---The error that I am getting---
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 '@test.com,test) VALUES(test_user,test@test.com,test)' at line 1

Thanks 

From the looks of it, the values like test_user, etc should be written as strings, like

VALUES('test_user','test@test.com','test')

That’s the first thing that comes to my mind. If this does not work, would you please post the full SQL that yu are trying to execute?