Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Guw

[Resolvido] "or die()"

Recommended Posts

Eu tava tendo um problema com um código meu e descobri que era a função mysql_num_rows(). O problema era que ela retornava o valor zero, mas após a função eu colocava o or die(mysql_error()). Mas só dava erro quando o valor que a função mysql_num_rows() era 0. Eu resolvi o problema retirando o or die(mysql_error()) do código, e está funcionando direitinho, pelo menos por enquanto.

 

A minha dúvida é: tem algum problema o or die(mysql_error()) não aparecer após a função mysql_num_rows() ou eu deveria colocar e procurar outra solução para meu código?

 

 

Agradeço desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo,

 

Coloque o 'or die' ao lado da mysql_query.

 

Assim:

 

mysql_query("QUERY") or die(mysql_error());

 

Eu só faço assim!

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu faço isso.

 

Tava assim ó:

 

$query=mysql_query("query") or die(mysql_error());

$row=mysql_num_rows($query) or die(mysql_error()); //aqui o problema

 

A variável $row, se retorna valor 0, o "or die()" entra é executado, mas se eu tiro ele, o script roda normalmente, como eu queria. O que eu queria saber é se tem problema isso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como falei, geralmente uso o 'or die' só na mysql_query. Não vejo necessidade de usar no 'num_rows', pq ele só vai ser executado se a query rodar direito, então não vejo necessidade.

 

E, se não estou enganado, não há problemas em retirar ele.

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

vale lembrar que o or é o mesmo que "ou".

 

se observarmos direito é uma pagadinha de logica.

 

$row vai fazer alguma coisa de qualquer jeito porque ela é verdadeiro ou verdadeiro.

como o "mysql_num_rows($query)" vem primeiro ele tem precedencia ignorando o proximo valor sendo assim se o primeiro valor for false ele vai para o segundo e apresentara a menssagem de erro do mysql.

faça o teste usando o var_dump(variavel) se quiser saber que que a variavel esta caregando.

 

lembre-se quando tiver o operador or que é o mesmo que "ou" vou ter precedencia no primeiro valor.

 

procure por precedencia dos operadores no php que vai lhe ajudar muito

 

ñ ha problema se o or die(mysql_error()) não aparecer depois de funçoes do banco, você vai perder em quetão de aviso etc...

 

você pode resolver da seguinte maneira:

 

if($row == false){//ou if(empty(row)) depende do que você presisa

header(location: pagina.php)

}

else{

continuação do seu sistema...

}

 

informaçoes tiradas de php.net/manual

 

espero ter ajudado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo é aconselhavel sempre depois de fazer consultas em sua case de dados. verifique se teve retorno TRUE.

 

if($row){

}

 

Assim ele já continua se tiver conteúdo na variável $row Caso não tenha sucesso na execução da query. ele já dá uma viso.

é um metodo de que seu site nunca deixe de informar os desinformados que algo deu errado...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.