Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Pessoal, gostaria de entender o seguinte código:
#Coletando informações registradas no Banco.
$Sql = mysql_query("SELECT nome FROM alunos WHERE matricula = '$matricula' AND unidade = '$numUnidade' LIMIT 1");
if(!Sql){
echo $ErrorMsg;
exit;$dados = mysql_fetch_array($Sql);
$nomeAluno = $dados['nome'];
}
Escrevi esse código a um tempo atrás, mas eu não tinha notado que no If eu tinha esquecido o símbolo $ (variável em PHP). Agora que notei o erro, não sei se corrijo ou se deixo quieto, mas o que eu mais queria era saber porque que na hora de processar, o Apache não considerou isso um erro.
PS.: Não existe nenhuma constante declarada como Sql.
Esse Script está sendo executado nos servidores da Locaweb... quase certeza que sim.
Mas meu problema nem é entender porque não mostrou o erro. Quero saber porque não deu erro. O Script funciona.
Mais embaixo, no mesmo arquivo, encontrei outro erro:
#Coletando Notas
$SqlNotas = mysql_query("SELECT * FROM fundamental_notas WHERE matricula = '$matricula'");
if(!SqlNotas){
echo $ErrorMsg;É como se o PHP soubesse que 'SqlNotas' e/ou 'Sql' faz referência à variável '$SqlNotas' e/out '$Sql'.
Se os erros estiverem desabilitados, ele passará para a próxima linha sem problemas, pois, o que ele mostraria não sria um erro e sim uma notificação de que a constante não está definida e mesmo assim passaria sem problemas só mostraria a notificação na tela. O que faz parar a execução do código é um erro fatal ou sintaxe.
At+
Os erros do php estão habilitados "display_errors=on"?