Ejemplo n.º 1
0
function DBExecSql($connection, $sql, $params = array(), $mode = OCI_COMMIT_ON_SUCCESS)
{
    // Ejecuta el query pasado como parámetro..
    global $dbError;
    $stmt = oci_parse($connection, $sql);
    foreach ($params as $key => $val) {
        $parametro = htmlspecialcharsDecodeUpper($params[$key]);
        oci_bind_by_name($stmt, $key, $parametro, strlen($parametro));
        unset($parametro);
    }
    $error = !oci_execute($stmt, $mode);
    if ($error) {
        $dbError = oci_error($stmt);
        if (isset($dbError["offset"])) {
            DBRollback($connection);
            // Hago un rollback por si el query con el error venía sin transacción..
            saveSqlError($connection, $dbError["message"], $sql, $params);
            $mensajeError = "Error inesperado. [" . date("d/m/Y H:i:s") . "]";
            throw new Exception($mensajeError);
        }
    }
    return $stmt;
}
Ejemplo n.º 2
0
function DBExecSql($connection, $sql, $params = array(), $mode = OCI_COMMIT_ON_SUCCESS)
{
    // Ejecuta el query pasado como parámetro..
    global $dbError;
    $stmt = OCIParse($connection, $sql);
    foreach ($params as $key => $val) {
        oci_bind_by_name($stmt, $key, htmlspecialcharsDecodeUpper($params[$key]));
    }
    $error = !oci_execute($stmt, $mode);
    if ($error) {
        $dbError = oci_error($stmt);
        if (isset($dbError["offset"])) {
            DBRollback($connection);
            // Hago un rollback por si el query con el error venía sin transacción..
            saveSqlError($connection, $dbError["message"], $sql, $params);
            EscribirLogTxt1('Error DBExecSql sql', $sql);
            EscribirLogTxt1('Error DBExecSql params', implode(",", $params));
            EscribirLogTxt1('Error DBExecSql e ', $error . " ---- " . $dbError["message"]);
            throw new Exception("Error inesperado. [" . date("d/m/Y H:i:s") . "]" . $error);
        }
    }
    return $stmt;
}