Jump to content


Photo

Verifica Erro No Mysql


  • Faça o login para participar
6 replies to this topic

#1 xuki

xuki

    12 Horas

  • Usuários
  • 261 posts
  • Sexo:Não informado

Posted 21/03/2006, 15:19

Boa tarde...
Como eu posso verificar se ouve ou nao erro no meu mysql_query
tipo assim:
if(acao=="add")
{
$sql = mysql_query("INSERT INTO clientes (cli_nome, cli_contato, cli_email, cli_consultor, cli_login, cli_senha, ghcv2, gesup, ghccli, sacr) VALUES ('$cli_nome', '$cli_contato', '$cli_email', '$cli_consultor', '$cli_login', '$cli_senha', '$ghcv2', '$gesup', '$ghccli', '$sacr')");
if(mysql_query==0){
echo "<script laguage=\"JAVASRCIPT\">window.alert('Cadastrado com Sucesso')</script>";
echo "<script laguage=\"JAVASRCIPT\">window.open('index.php','_self')</script>";
}
else{
echo "<script laguage=\"JAVASRCIPT\">window.alert('Error!')</script>";
echo "<script laguage=\"JAVASRCIPT\">javascript:history.back();</script>";
}
}

if(mysql_query==0) seria algo assim?
P(eace) L(ove) U(nity) R(espect)

#2 paulojrpb_php

paulojrpb_php

    12 Horas

  • Usuários
  • 121 posts
  • Sexo:Não informado

Posted 21/03/2006, 15:37

Muiro simples meu amigo.. mas não lhe desmerecendo por que é algo que poucas pessoas sabem realmente. faz assim:

if(acao=="add")
{
$sql = mysql_query("INSERT INTO clientes (cli_nome, cli_contato, cli_email, cli_consultor, cli_login, cli_senha, ghcv2, gesup, ghccli, sacr) VALUES ('$cli_nome', '$cli_contato', '$cli_email', '$cli_consultor', '$cli_login', '$cli_senha', '$ghcv2', '$gesup', '$ghccli', '$sacr')") or die(mysql_error());
if(mysql_query==0){
echo "<script laguage=\"JAVASRCIPT\">window.alert('Cadastrado com Sucesso')</script>";
echo "<script laguage=\"JAVASRCIPT\">window.open('index.php','_self')</script>";
}


Inclue as linhas em negrito e aí blz!!!

Se preferir, pode colocar assim.. die("O seguinte erro ocorreu: ".mysql_error());

Arrocha aí cumpade...
Espero, ter ajudado.. abraços...

Edição feita por: paulojrpb_php, 21/03/2006, 15:39.

"Não te estribes no teu próprio entendimento!!!"
Paulo Jr. PHP Development (Intermediary)

#3 xuki

xuki

    12 Horas

  • Usuários
  • 261 posts
  • Sexo:Não informado

Posted 21/03/2006, 15:45

mas a verificação ali ta certa do if(mysql_query==0) ?
ele vai axa erro se tive erada?
se eu por um outro if ou else
P(eace) L(ove) U(nity) R(espect)

#4 paulojrpb_php

paulojrpb_php

    12 Horas

  • Usuários
  • 121 posts
  • Sexo:Não informado

Posted 21/03/2006, 15:52

mas a verificação ali ta certa do if(mysql_query==0) ?
ele vai axa erro se tive erada?

Não tá certo por que a verificação do mysql_query sempre retorna um resultado em um array.. ou seja, mesmo que não tenha resultado, ele vai ser > 0.
Mas para verificar se a consulta não retornou valor ai é outra coisa, se é isso q vc quer.. posta aí!
Na tranquilidade.. é tudo facim.. heahhhe
vlw cumpade!
"Não te estribes no teu próprio entendimento!!!"
Paulo Jr. PHP Development (Intermediary)

#5 xuki

xuki

    12 Horas

  • Usuários
  • 261 posts
  • Sexo:Não informado

Posted 21/03/2006, 15:58

é pra eele verificar se teve sucesso no mysql_query sem erros incluiu certo
se sim avisa que teve sucesso pro usuario
P(eace) L(ove) U(nity) R(espect)

#6 paulojrpb_php

paulojrpb_php

    12 Horas

  • Usuários
  • 121 posts
  • Sexo:Não informado

Posted 21/03/2006, 16:26

Pois é rapaz, essa função que eu lhe dei verifica erros.. se não aparecer a mensagem de erro, então foi tudo bem.. aí vc faz assim:
$qry = mysql_query("***") or die("O seguinte erro ocorreu: ".mysql_error());
Vai automaticamente passar se não houver erro.. então vc coloca..
$result = "Informações Cadastradas com Sucesso!";

Aí voce mostra na página.. <? echo $result; ?>

Qualquer coisa mais sobre a função die: http://www.php.net/m...unction.die.php

flw cumpade...

Edição feita por: paulojrpb_php, 21/03/2006, 16:27.

"Não te estribes no teu próprio entendimento!!!"
Paulo Jr. PHP Development (Intermediary)

#7 Paulo Freitas

Paulo Freitas

    ××××××× LRU #456504 ××××××× ××××××× LRM #364686 ×××××××

  • Ex-Admins
  • 5612 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 22/03/2006, 02:41

Mas ... se ele fez um condicional de sucesso / erro, usar o die() neste caso não faz sentido. :wacko:

O problema é realmente na linha indicada:
if(mysql_query==0){
Além da função mysql_query() estar referida sem parênteses, o retorno da mesma é booleano.

A função que retorna o número de registros afetados numa operação INSERT é a mysql_affected_rows(). (y)

Outro erro é a comparação. Se for igual à 0 (zero), lógicamente é porquê deu algo errado. A comparação deveria ser maior que 0 (zero), pois a primeira sentença de uma condicional deve ser a verdadeira, e a segunda (após o else) a falsa. Questões de semântica. ;)

[]’s :DAté mais




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq