INSERT массив - PDO

у нас есть часть кода, которая должна принимать данные, введенные в форму, сохранять их в массиве и затем вводить в базу данных. Я использовал var_dump для $ fields и $ data, и они оба возвращают информацию, введенную в поле (в функции add_habbo). Так что проблема, которую ямы получили, что код MYSQL / PDO невставить эти данные в базу данных.

Это код, который я использую, чтобы вставить их в базу данных:

    $fields = '`' . implode('`, `', array_keys($habbo_data)) . '`';
    $data   = '\'' . implode('\', \'', $habbo_data) . '\'';

    var_dump($fields);
    var_dump($data);

    global $con;

    $query = "INSERT INTO `personnel` (:fields) VALUES (:data)";
    $result = $con->prepare($query);
    $result->bindParam(':fields', $fields, PDO::PARAM_STR);
    $result->bindParam(':data', $data, PDO::PARAM_STR);
    $result->execute();

У меня сложилось впечатление, что это связано с разделами bindParam, возможно, PDO :: PARAM_STR? Спасибо за твою помощь!

Обновить:

$fields = '`' . implode('`, `', array_keys($habbo_data)) . '`';
$fields_data   = ':' . implode(', :', array_keys($habbo_data));

var_dump($fields);
var_dump($fields_data);

global $con;

$query = "INSERT INTO `personnel` (`rank`, `habbo_name`, `rating`, `asts`, `promotion_date`, `transfer_rank_received`, `cnl_trainings`, `rdc_grade`,
    `medals`, `branch`) VALUES ({$fields_data})";
$result = $con->prepare($query);
$result->execute($habbo_data);

$arr = $result->errorInfo();
print_r($arr);

Ошибка:

Array ([0] => 21S01 [1] => 1136 [2] => Количество столбцов неt соответствует количеству значений в строке 1)

Ответы на вопрос(2)

Ваш ответ на вопрос