O PHP or
funciona como o C ||
(que, aliás, também é suportado pelo PHP - or
é mais bonito e tem precedência de operador diferente - veja esta página ).
É conhecido como operador de curto-circuito porque irá ignorar qualquer avaliação assim que tiver informações suficientes para decidir o valor final.
Em seu exemplo, se mysql_connect()
retornar TRUE, então o PHP já sabe que toda a instrução será avaliada como TRUE, não importa o die()
que die()
seja avaliado e, portanto, não é avaliada.
Se mysql_connect()
retornar FALSE, o PHP não sabe se a instrução inteira será avaliada como TRUE ou FALSE, então continua e tenta avaliar die()
- terminando o script no processo.
É apenas um truque legal que aproveita a maneira como or
funciona.