Ir para conteúdo
Fórum Script Brasil
  • 0

Exclusão de registro no php-firebird sem retorno.


Paiva Jr

Pergunta

Amigos, este iniciante está com o seguinte problema :

Executo um ibase_query para excluir um registro. O comando exclui o registro do BD mas ao tornar a excluir o mesmo registro ou outro qualquer inválido, a função não dá retorno de false.

segue o arquivo php :

<?PHP
$conexao = ibase_connect("c:/testephp/tutorial.gdb","SYSDBA","masterkey") or exit('erro');
if ($conexao){
$cod = $_POST["codigotxt"];
$sql = "delete from cadastro where codigo = '$cod'";
$resultado = ibase_query($conexao, $sql);
$result = ibase_commit($conexao);
if ($result)
{
echo("trans ok'");
}
else
{
echo("trans_no");
}
if ($resultado)
{
echo("Exclusao efetuado");
}
else
{
echo("Erro na exclusao");
}
}
else
{
echo("Erro ao conectar-se a base");
}
ibase_close($conexao);
?>

Obs.: com esse script acima, qualquer que seja a exclusão inválida ele sai sempre pelo TRUE.

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

Retornaria erro se houvesse um problema de sintaxe, o simples fato de não ter excluído nada nunca vai retornar nenhum erro mesmo, caso você queira saber se houve linha afetadas na última query utilize ibase_affected_rows.

Link para o comentário
Compartilhar em outros sites

  • 0

ESerra, e para que existe a variável de retorno da instrução IBASE_QUERY ? Se ela não funciona vou ter que executar 2 instruções para excluir um registro no lugar de uma só. Em qualquer outra linguagem, as instruções de INSERT,UPDATE e DELETE sempre te dá um retorno (registro não existente, falha na gravação do registro, etc.). V. não acha uma falha do PHP/Firebird ?

Link para o comentário
Compartilhar em outros sites

  • 0

Qualquer outra linguagem? Java e PY com certeza retornaram exatamente a mesma coisa... você não vai ter que usar 2 instruções para excluir, na primeira o registro já vai ter sido excluída, a segunda apenas te informa a quantidade de registros excluídos...

Link para o comentário
Compartilhar em outros sites

  • 0

ESerra, sou do tempo do velho "cobol/basic/clipper/delphi". E nessas linguagens v. usa apenas uma instrução, e nela a variável ou condição de retorno já te diz tudo que pode ter acontecido: se o registro não foi encontrado para exclusão, se houve erro de máquina, se foi uma exclusão bem sucedida, etc.. O caso no php pelo que estou entendendo é de que a variável de retorno te diz apenas se houve erro na instrução ou não, não te dizendo qual foi o resultado da operação em si, seja bem sucedida ou não.

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...