Вы можете попытаться напечатать информацию о внутренней ошибке, если на самом деле не генерируются исключения:
// http://php.net/manual/en/pdostatement.errorinfo.php
$error = $query->errorInfo();
// see if anything is output here
print_r($error);
Вы также упомянули в комментарии, что ошибка перед звонок execute()
.Это может быть потому, что вы используете все строчные имена для bindparam()
.
http://php.net/manual/en/pdostatement.bindparam.php
Попробуйте изменить привязку вашего параметра к этому:
$query->bindParam(':status', $status);
$query->bindParam(':system', $system);
$query->bindParam(':first_name', $first_name);
$query->bindParam(':last_name', $last_name);
$query->bindParam(':primary_num', $primary_num);
Или еще лучше;удалите приведенные выше строки и задайте их в вызове execute()
:
$query->execute([
'status' => $status,
'first_name' => $first_name,
'last_name' => $last_name,
'primary_num' => $primary_num,
]);
Если приведенная выше информация не помогает, можете ли вы убедиться, что включена функция отчетов об ошибках?Взятый из инструкции на этот ответ , вы можете сделать это так:
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);