Как исправить ошибку MySQL "Fatal error...?
Когда ты НЕ ЗНАЕШЬ что происходит у тебя в коде, во первых надо понять что и зачем ты пишешь, иначе это обезьянье тыканье в клавиатуру ни к чему не приведет в обозримом будущем. Прогресса не будет. 
Во первых - запросы выделить отдельно в переменные. 
Во вторых - вместо тупого "вставляния" переменных в запрос использовать плейсхолдеры, иначе будете страдать, и за дело. Разве так сложно все нужные параметры записать в массив ключ-значение и передать в запрос???
В третьих - читать ошибки, понимать синтаксис. В идеале - нормально расписывать запрос в коде. Хотя я рекомендую всегда его писать в принятом построчном формате, это всегда удобно и наглядно:$sql = "
INSERT INTO `cards` 
(`name`, `title`, `p`, `tel`,`email`, `money`, `subject`) 
VALUES 
(:name,  :title,  :p,  :tel,  :email,   :money,  :subject";Надеюсь ошибка видна?
Выведите переменную $result и увидите все. Можете попробовать выполнить полученный запрос в консоли.