Hola,
De momento la condición creo que no está bien, te recomiendo que tengas la conexión establecida antes de entrar en el if, si no hay conexión de todas formas va a tratar de conectar, según tu código, abre antes la conexión, aunque también puedes crear un constructor y entonces abrir la conexión en él, aquí tienes un ejemplo con PDO.
Respecto a la perdida de variables si estás trabajando en una clase lo que debes hacer es acceder a las propiedades, <a href="http://uno-de-piera.com/clases-abstractas-en-php-ejemplo-de-crud/" title="Clases abstractas en php, ejemplo de Crud" target="_blank" rel="nofollow">aquí</a> tienes un ejemplo de una clase abstracta que implementa un crud y tiene la conexión implementada.
Saludos.
↧