function db_trans_query($connection, $sql)
{
    // TRANSLATION: do NOT translate these since error messages need to stay in English for technical support
    $sql = preg_replace("/([,\\(=])[\r\n\t ]*''/", '\\1NULL', $sql);
    $result = pg_query($connection, $sql);
    if ($result === false) {
        db_trans_rollback($connection);
        db_show_error($sql, "DB Transaction Execute Failed.");
    }
    return $result;
}
function DBQuery($sql)
{
    global $DatabaseType, $_openSIS;
    $connection = db_start();
    switch ($DatabaseType) {
        case 'mysql':
            $sql = str_replace('&', "", $sql);
            $sql = str_replace('&quot', "", $sql);
            $sql = str_replace(''', "", $sql);
            $sql = str_replace('<', "", $sql);
            $sql = str_replace('>', "", $sql);
            $sql = ereg_replace("([,\\(=])[\r\n\t ]*''", '\\1NULL', $sql);
            if (preg_match_all("/'(\\d\\d-[A-Za-z]{3}-\\d{2,4})'/", $sql, $matches)) {
                foreach ($matches[1] as $match) {
                    $dt = date('Y-m-d', strtotime($match));
                    $sql = preg_replace("/'{$match}'/", "'{$dt}'", $sql);
                }
            }
            if (substr($sql, 0, 6) == "BEGIN;") {
                $array = explode(";", $sql);
                foreach ($array as $value) {
                    if ($value != "") {
                        $result = mysql_query($value);
                        if (!$result) {
                            mysql_query("ROLLBACK");
                            die(db_show_error($sql, "DB Execute Failed.", mysql_error()));
                        }
                    }
                }
            } else {
                $result = mysql_query($sql) or die(db_show_error($sql, "DB Execute Failed.", mysql_error()));
            }
            break;
    }
    return $result;
}
function DBQueryMod($sql)
{
    global $DatabaseType, $_openSIS;
    $connection = db_start();
    switch ($DatabaseType) {
        case 'mysqli':
            $sql = str_replace('&', "", $sql);
            $sql = str_replace('&quot', "", $sql);
            $sql = str_replace(''', "", $sql);
            $sql = str_replace('<', "", $sql);
            $sql = str_replace('>', "", $sql);
            if (preg_match_all("/'(\\d\\d-[A-Za-z]{3}-\\d{2,4})'/", $sql, $matches)) {
                foreach ($matches[1] as $match) {
                    $dt = date('Y-m-d', strtotime($match));
                    $sql = preg_replace("/'{$match}'/", "'{$dt}'", $sql);
                }
            }
            if (substr($sql, 0, 6) == "BEGIN;") {
                $array = explode(";", $sql);
                foreach ($array as $value) {
                    if ($value != "") {
                        $user_agent = explode('/', $_SERVER['HTTP_USER_AGENT']);
                        if ($user_agent[0] == 'Mozilla') {
                            $result = $connection->query($value);
                        }
                        if (!$result) {
                            $user_agent = explode('/', $_SERVER['HTTP_USER_AGENT']);
                            if ($user_agent[0] == 'Mozilla') {
                                $connection->query("ROLLBACK");
                                die(db_show_error($sql, "DB Execute Failed.", mysql_error()));
                            }
                        }
                    }
                }
            } else {
                $user_agent = explode('/', $_SERVER['HTTP_USER_AGENT']);
                if ($user_agent[0] == 'Mozilla') {
                    $result = $connection->query($sql) or die(db_show_error($sql, "DB Execute Failed.", mysql_error()));
                }
            }
            break;
    }
    return $result;
}
Beispiel #4
0
function db_trans_query($connection, $sql)
{
    global $DatabaseType;
    if ($DatabaseType == 'oracle') {
        $parse = ociparse($connection, $sql);
        if ($parse === false) {
            db_trans_rollback($connection);
            db_show_error($sql, "DB Transaction Parse Failed.");
        }
        $result = OciExecute($parse, OCI_DEFAULT);
        if ($result === false) {
            db_trans_rollback($connection);
            db_show_error($sql, "DB Transaction Execute Failed.");
        }
        $result = $parse;
    } elseif ($DatabaseType == 'postgres') {
        $sql = ereg_replace("([,\\(=])[\r\n\t ]*''", '\\1NULL', $sql);
        $result = pg_query($connection, $sql);
        if ($result === false) {
            db_trans_rollback($connection);
            db_show_error($sql, "DB Transaction Execute Failed.");
        }
    }
    return $result;
}
Beispiel #5
0
function db_trans_query($connection, $sql)
{
    global $DatabaseType;
    // TRANSLATION: do NOT translate these since error messages need to stay in English for technical support
    if ($DatabaseType == 'oracle') {
        $parse = ociparse($connection, $sql);
        if ($parse === false) {
            db_trans_rollback($connection);
            db_show_error($sql, "DB Transaction Parse Failed.");
        }
        $result = OciExecute($parse, OCI_DEFAULT);
        if ($result === false) {
            db_trans_rollback($connection);
            db_show_error($sql, "DB Transaction Execute Failed.");
        }
        $result = $parse;
    } elseif ($DatabaseType == 'postgres') {
        $sql = preg_replace("/([,\\(=])[\r\n\t ]*''/", '\\1NULL', $sql);
        $result = pg_query($connection, $sql);
        if ($result === false) {
            db_trans_rollback($connection);
            db_show_error($sql, "DB Transaction Execute Failed.");
        }
    }
    return $result;
}