Olá pessoal
porque que quando executo o código abaixo, ao invés dele parar em exit, ele continua dá um warnning e vai até o final? estou usando o xampp.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title></title>
</head>
<body>
<table>
<tr>
<td>autor</td>
<td>label</td>
<td>cod</td>
</tr>
<?php
$conexao = odbc_connect(CONNECTION_STRING,USER,PASSWORD)
or exit("erro de banco de dados" . $conexao);
$recurso = odbc_exec($conexao, "SELECT a FROM [ANGULAR].[dbo].[autores]")
or exit("Erro de banco de dados" . $recurso);
while($tupla = odbc_fetch_array($recurso)){
echo '<tr><td>'.$tupla["autor"].'</td><td>'.$tupla["label"].'</td><td>'.$tupla["cod"].'</td></tr>';
}
?>
</table>
</body>
Vamos la
sem ver o warning eu posso imaginar que a variavel conexao (ou recurso) não tem valor definido quando vc tenta concatenar com a mensagem e isso da alguma zica e vc não chama exit.
rode seu script sem essas variaveis. se o exit funcionar ai vc tem que descobrir como lidar com o erro
se vc tivesse lido aqui: http://php.net/manual/en/function.odbc-connect.php
iria percever que o odbc_connect
retorna um recurso ou FALSE no caso de nao poder conectar no banco.
ai vc tem algo como
$variavel = FALSE or exit( "mensagem " . $variavel );
a $variavel
NÃO tem nenhuma mensagem util. ela nem foi atribuida pois vc esta usando uma operação que curto-circuita a atribuição. é TOTALMENTE diferente disso
$variavel = FALSE; if( $variavel ) { exit( "mensagem " . $variavel ); }
agora que vc entendeu por que sera que seu codigo não para, agora vc tem que estudar como identificar errors SE vc conectar:
http://php.net/manual/en/function.odbc-error.php
e leia mais a documentação 
Complementando a ótima resposta do @peczenyj, aconselharia também o estudo da class PDO:
http://php.net/manual/pt_BR/book.pdo.php
Nela existe métodos de conexões para a maioria dos banco de dados, que facilitam seu desenvolvimento e a migração pra outro banco de dados caso venha necessitar um dia (acredite, facilita e muito).
Abs.