<?php

function db_conectar($servidor = DB_SERVIDOR, $usuario = DB_USUARIO, $senha = DB_SENHA, $banco = DB_BANCO)
{
    global $db_link;

    $db_link = mysqli_connect($servidor, $usuario, $senha, $banco);

    if (mysqli_error()){
        var_dump("não connectado");
    }

    mysqli_set_charset($db_link,'utf8');

    return $db_link;
}


function db_desconectar()
{
    global $db_link;
    return mysqli_close($db_link);
}


function db_erro($consulta, $erronum, $erro)
{
    die('<table cellpadding=30 cellspacing=0 style="border:1px solid #dddddd;"><tr><td><font color=red><b>Erro!</b></font><BR><BR><b># ' . $erronum . '</b> - ' . $erro . '<BR><BR>' . $consulta . '</td></tr></table>');
}


function db_consulta($consulta)
{
    global $db_link;

    $result = mysqli_query($db_link, $consulta);

    return $result;
}


function db_executa($tabela, $dados, $acao = 'insert', $parametros = '')
{
    reset($dados);
    if (strtolower($acao) == 'insert') {
        $consulta = 'insert into ' . $tabela . ' (';
        while (list($coluna,) = each($dados)) $consulta .= $coluna . ', ';
        $consulta = substr($consulta, 0, -2) . ') values (';

        reset($dados);
        while (list(, $valor) = each($dados)) {
            switch ((string)$valor) {
                case 'now()':
                    $consulta .= 'now(), ';
                    break;
                case 'null':
                    $consulta .= 'null, ';
                    break;
                default:
                    $consulta .= '\'' . db_entrada($valor) . '\', ';
                    break;
            }
        }
        $consulta = substr($consulta, 0, -2) . ')';

    } elseif (strtolower($acao) == 'update') {
        $consulta = 'update ' . $tabela . ' set ';

        reset($dados);
        while (list($coluna, $valor) = each($dados)) {
            switch ((string)$valor) {
                case 'now()':
                    $consulta .= $coluna . ' = now(), ';
                    break;
                case 'null':
                    $consulta .= $coluna .= ' = null, ';
                    break;
                default:
                    $consulta .= $coluna . ' = \'' . db_entrada($valor) . '\', ';
                    break;
            }
        }
        $consulta = substr($consulta, 0, -2) . ' where ' . $parametros;
    }
    return db_consulta($consulta);
}


function db_lista($db_consulta)
{
    return mysqli_fetch_array($db_consulta);
}


function db_linhas($db_consulta)
{
    return mysqli_num_rows($db_consulta);
}


function db_insert_id()
{
    return mysqli_insert_id();
}


function db_free_result($db_consulta)
{
    return mysqli_free_result($db_consulta);
}


function db_saida($string)
{
    return htmlspecialchars($string);
}


function db_entrada($string)
{
    return addslashes($string);
}


function db_dados($string)
{
    return db_lista(db_consulta($string));
}


error_reporting(0);

?>