Erro Insert Update Firebird + PHP
Bom dia pessoal, estou usando PHP com Firebird 2.5, tem uma função que em alguns casos da um update e em outros da insert. Mas na pratica, quando é para acontecer o update o servidor retorna alguns Warnings e não faz nada, abaixo segue erros e meu código:
Warning: ibase_query() [function.ibase-query]: Dynamic SQL Error SQL error code = -104 as approximate floating-point values in SQL dialect 1, but as 64-bit in D:\web\localuser\a2x\www\canala2x\admFuncoes.php on line 29
Warning: ibase_fetch_object(): supplied argument is not a valid Firebird/InterBase result resource in D:\web\localuser\a2x\www\canala2x\admFuncoes.php on line 34
Warning: ibase_query() [function.ibase-query]: Dynamic SQL Error SQL error code = -104 as approximate floating-point values in SQL dialect 1, but as 64-bit in D:\web\localuser\a2x\www\canala2x\admFuncoes.php on line 57
Warning: ibase_fetch_object(): supplied argument is not a valid Firebird/InterBase result resource in D:\web\localuser\a2x\www\canala2x\admFuncoes.php on line 59
Warning: ibase_query() [function.ibase-query]: Dynamic SQL Error SQL error code = -104 Token unknown - line 1, char 1 MAX in D:\web\localuser\a2x\www\canala2x\admFuncoes.php on line 65
Warning: ibase_fetch_object(): supplied argument is not a valid Firebird/InterBase result resource in D:\web\localuser\a2x\www\canala2x\admFuncoes.php on line 66
Warning: ibase_prepare() [function.ibase-prepare]: Dynamic SQL Error SQL error code = -104 Token unknown - line 1, char 32 WHERE in D:\web\localuser\a2x\www\canala2x\admFuncoes.php on line 73
Warning: ibase_execute() expects parameter 1 to be resource, string given in D:\web\localuser\a2x\www\canala2x\admFuncoes.php on line 75
<?php
/*
* esta pagina deve conter todas as funcoes php que se referem a area
* administrativa do aplicativo
*/
//PEGO NOME DA FUNCAO QUE FOI PASSADA PARA O CAMPO HIDDEN
$funcao = $_REQUEST['acao'];
//verifico se a funcao existe, se sim executa
IF(function_exists($funcao)){
call_user_func($funcao);
}
//FUNCOES
function atualizaSenhaCliente(){
//conecta o banco
require_once 'conecta.php';
$codcliente = $_REQUEST['codcliente'];
$senha = $_REQUEST['senha'];
//SQL
$sql="UPDATE TBUSUARIOWEB SET SENHA=$senha WHERE CODCLIENTE=$codcliente";
$sql1 = "SELECT COUNT(A.CODCLIENTE) AS TOTAL FROM TBUSUARIOWEB A WHERE A.CODCLIENTE=$codcliente ";
//executa sql
$resultado = ibase_query($conexao,$sql1);
//zera contador
$cont = 0;
while($row = ibase_fetch_object($resultado)){
$cont = $row->TOTAL;
}
//se $cont>0 é porque a senha ja está cadastrada, vai ser feito um update
IF($cont>0){
//preparando
ibase_prepare($sql);
//executando update
ibase_execute($sql);
//comitando
ibase_commit($conexao);
}
//se $cont=0 é porque não temos usuario cadastrado, vamos ter que cadastra- lo
ELSE{
//SQL
$sql2 = "MAX(A.CODCLIENTE) AS MAIOR FROM TBUSUARIOWEB";
$sql4 = "SELECT A.CNPJCPF FROM TBCLIENTE WHERE CODCLIENTE=$codcliente";
//PEGANDO CNPJ
$resultado = ibase_query($conexao,$sql4);
$cnpj = ' ';
while($row = ibase_fetch_object($resultado)){
$cnpj = $row->CNPJCPF;
}
//gerando codusuario e inserindo informacoes na tabela
$maior = 0;
$resultado2 = ibase_query($conexao,$sql2);
while($row = ibase_fetch_object($resultado2)){
$maior = $row->MAIOR;
}//FIM WHILE
$codusuario = $maior++;
$sql3 = "INSERT INTO TBUSUARIOWEB VALUES($codusuario,$cnpj,$senha,$codcliente)";
ibase_prepare($sql);
//executa query
ibase_execute($sql3);
//comita
ibase_commit($conexao);
}//fim ELSE
//fecha conexão
ibase_close($conexao);
}Discussão (1)
Carregando comentários...