Здесь Танду вводит в заблуждение понятие, которое вы, к сожалению, приняли как ответ.
Независимо от того, какой уровень абстракции базы данных вы используете (вы используете mysqli), он фактически зависит от того, эмулируется ли подготовленный запрос или он изначально выполняется на уровне базы данных. Подготовленный запрос может и должен потерпеть неудачу, если базовый механизм базы данных не может «подготовить» его.
Это не имеет никакого отношения к тому, было ли ваше соединение с базой данных успешным.
Вы абсолютно должны проверить возвращаемое значение вызова prepare (). Если у вас есть программная ошибка, она потерпит неудачу. Если у вас есть другой уровень проблемы с приложением, он потерпит неудачу. И т.д. Вот и весь смысл возвращаемого значения.
Если вы полагаете, что это всегда хорошо, вы рискуете ошибочным запросом, который может привести к потере данных - потенциально больше.
Чтобы быть ясно понятным, важно проверять результат каждый раз, когда запрос может быть неудачным. Что вы не знаете ... следовательно, всегда.