Ir para conteúdo
barogana

tratar erro de query insert,update, delete em mysqli

Recommended Posts

srs, estou dando suporte no sistema de uma associação, que usa a seguinte classe para conectar com o mysqli,

pois utilizam vários bancos de dados.

Procurei referencias no link que o programador anterior deixou no script, mas nem está online.

<?php
//http://thephpeffect.com/a-basic-database-connection-manager/
class DatabaseManager {
    private static $_instances = array();
    public static function getInstance($instance_name, $connection_info = array()) {
        if($connection_info) {
            list($db_host, $db_user, $db_pass, $db_name) = $connection_info;
            self::$_instances[$instance_name] = new MySQLi($db_host, $db_user, $db_pass, $db_name);
        }
        return self::$_instances[$instance_name];
    }
}

function db($instance_name='default', $connection_info = array()){
    return DatabaseManager::getInstance($instance_name, $connection_info);
}
?>

e faz a conexão da seguinte forma:

 

db('default',  array("$host1",  "$usuario1", "$senha1", "$banco1"));

db('socios',  array("$host2",  "$usuario2", "$senha2", "$banco2"));

$a=db()->query("select * from tabelax"));

$b=db("socios")->query("select * from tabelab"));

 

tudo funciona perfeitamente bem até este ponto.

o problema é que não estou conseguindo validar o resultado de queries como insert e update  e delete.

 

o programador usava apenas

$b=db("socios")->query("update tabelab set datanascimento='1999-10-31 where cpf='1"));

if ($b){

    echo"ok";

else

    echo "erro";

}

o problema é que isto sempre retorna TRUE, pois a query é executada, contudo, é um falso positivo,

pois não houve a atualização do registro já que não existe um CPF 1.

 

agradeço se puderem me orientar, como retornar TRUE/FALSE para a execução da query, utilizando esta

mesma classe de conexão, já que  o sistema é bem extenso, e estou considerando imensamente em

não mudar este padrão de conexão.

 

desde já agradeço a atenção e tempo que possam dispor.

 

 

 

 

 

 

 

 

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

×

Informação importante

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