Если есть какая-то неясность, то смотрите лог сервера, там все должно быть написано.
Еще я бы на вашем месте:
- не создавал бы на каждый запрос новое соединение, а использовал пул персистентных соединений, подключаемых из отдельного файла;
- вместо драйвера БД на коллбэках использовал бы драйвер (или обертку) на промисах;
- ошибки бы передавал в отдельный класс/функцию, даже если эта функция просто будет передавать instance ошибки в консоль;
- имплементацию реквеста к роуту вынес бы в отдельный класс-контроллер;
- вместо plain-object'а модели Smartphone использовал бы отдельный класс Smartphone, который к тому же наследовался бы от псевдо-абстрактного класса модели (для менее геморройного расширения базовой функциональности).
|