_di0
(usa FreeBSD)
Enviado em 19/12/2013 - 20:12h
Se você ler com atenção o manual do PHP, na parte da documentação sobre a função mysql_query(), verá que em caso de falha na consulta passada nessa função, o retorno será FALSE, ou seja, um resultado tipo booleano.
Já na função mysql_result(), o primeiro parâmetro deve ser o tipo especial resource(uma referência para um recurso externo, nesse caso o mysql).
A mensagem citada por você não se trata de um erro, mas de um warning, e ela diz justamente o que descrevi acima: Que a função mysql_result(), espera no primeiro argumento uma referência resource e você passou um tipo booleano. Isso quer dizer que a variável $sql5 recebeu como resultado, um valor booleano, indicando que alguma coisa errada aconteceu no momento da consulta, quando se usou a função mysql_query().
Uma boa prática é não passar diretamente a variável que recebeu o resultado da função mysql_query(), diretamente para a função myqsl_result(), sem antes testar se ela é mesmo uma referência para um recurso externo (indicando sucesso) ou apenas uma variável que recebeu um booleano FALSE (indicando que erros ocorreram).
Veja o exemplo retirado do próprio manual oficial do PHP:
<?php
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
$result = mysql_query('SELECT name FROM work.employee');
if (!$result) {
die('Could not query:' . mysql_error());
}
echo mysql_result($result, 2); // outputs third employee's name
mysql_close($link);
?>