function SplitSQL($file, $delimiter = ';') { set_time_limit(0); if (is_file($file) === true) { $file = fopen($file, 'r'); if (is_resource($file) === true) { $query = []; $db = new DB(); $dbsys = DB_TYPE; $c = new ColorCLI(); while (feof($file) === false) { $query[] = fgets($file); if (preg_match('~' . preg_quote($delimiter, '~') . '\\s*$~iS', end($query)) === 1) { $query = trim(implode('', $query)); if ($dbsys == "pgsql") { $query = str_replace(array("`", chr(96)), '', $query); } try { $qry = $db->prepare($query); $qry->execute(); echo $c->alternateOver('SUCCESS: ') . $c->primary($query); } catch (PDOException $e) { if ($e->errorInfo[1] == 1091 || $e->errorInfo[1] == 1060 || $e->errorInfo[1] == 1054 || $e->errorInfo[1] == 1061 || $e->errorInfo[1] == 1062 || $e->errorInfo[1] == 1071 || $e->errorInfo[1] == 1072 || $e->errorInfo[1] == 1146 || $e->errorInfo[0] == 23505 || $e->errorInfo[0] == 42701 || $e->errorInfo[0] == 42703 || $e->errorInfo[0] == '42P07' || $e->errorInfo[0] == '42P16') { if ($e->errorInfo[1] == 1060) { echo $c->error($query . " The column already exists - Not Fatal {" . $e->errorInfo[1] . "}.\n"); } else { echo $c->error($query . " Skipped - Not Fatal {" . $e->errorInfo[1] . "}.\n"); } } else { if (preg_match('/ALTER IGNORE/i', $query)) { $db->queryExec("SET SESSION old_alter_table = 1"); try { $qry = $db->prepare($query); $qry->execute(); echo $c->alternateOver('SUCCESS: ') . $c->primary($query); } catch (PDOException $e) { exit($c->error($query . " Failed {" . $e->errorInfo[1] . "}\n\t" . $e->errorInfo[2])); } } else { exit($c->error($query . " Failed {" . $e->errorInfo[1] . "}\n\t" . $e->errorInfo[2])); } } } while (ob_get_level() > 0) { ob_end_flush(); } flush(); } if (is_string($query) === true) { $query = []; } } return fclose($file); } else { return false; } } else { return false; } }