Solo una nota: "or die()" son en realidad dos operaciones completamente distintas e independientes.
or no es más que un
operador lógico,
die() es una función equivalente a
exit(), son exactamente iguales y su función es terminar la ejecución del script, permitiendo arrojar un código o mensaje de salida.
No más. Su uso es independiente aunque se ha extendido el uso de esta combinación, la cual se considera una mala practica. En el momento de desarrollo ese tipo "mensajes" y comportamiento podría ser válido, pero en un sistema en producción se debería procurar la presentación del mensaje de error de manera más amigable al usuario sin "matar" la aplicación y sin mostrar información "técnica" que pueda comprometer la seguridad del sistema.
Un saludo