Example #1
0
    $min = 10000;
    for ($i = 1; $i < count($lines); $i++) {
        $dif = strlen($lines[$i]) - strlen(ltrim($lines[$i]));
        if ($dif < $min) {
            $min = $dif;
        }
    }
    if ($min > 0) {
        for ($i = 1; $i < count($lines); $i++) {
            $lines[$i] = substr($lines[$i], $min);
        }
    }
    $SQL = "\n" . implode("\n", $lines);
    if (!$Highlight) {
        return $SQL;
    }
    //Highlighting:
    $SqlKeywords = "SELECT|FROM|WHERE|UPDATE|SET|INSERT|INTO|CREATE|REPLACE|" . "VALUES|DROP|CASCADE|DELETE|" . "CALL|PROCEDURE|FUNCTION|TABLE|VIEW|PACKAGE|BODY|TRIGGER|SEQUENCE|" . "AND|OR|NOT|IN|ON|AS|IS|TO|EXISTS|ORDER|GROUP|HAVING|BY|" . "MOD|LIKE|NUMBER|VARCHAR|DATE|CHAR|CHARACTER|LONG|CONSTANT|BOOLEAN|" . "BEGIN|END|DECLARE|IF|THEN|ELSE|LOOP|FOR|NULL|CHECK|" . "PRIMARY|KEY|FOREIGN|REFERENCES|DETERMINISTIC|DEFFERABLE|" . "REF|CURSOR|OPEN|INSTEAD|OF|EACH|ROW|INTO|RETURN|UNION|" . "MINUS|ALL|SOME|ANY|GRANT|" . "ALTER|MODIFY|PARTITION|TABLESPACE|INITIALLY|DEFERRED|COMMENT|" . "FORCE|DEFAULT|IDENTIFIED|LANGUAGE|NAME|RETURNING|" . "TRUE|FALSE|EXIT|WHEN|BEFORE|AFTER|INDEX|CLUSTER|" . "EXCEPTION|OTHERS|AUTHID|CURRENT_USER|EXECUTE|IMMEDIATE|" . "TYPE|WHILE|NEXT|FIRST|ELSIF|BETWEEN|FOUND|SQL|ROWNUM|" . "NEW|OLD|CURRVAL|ACCESS|BFILE|TRANSACTION|BLOB|BULK|COLLECT|" . "CLOB|CLOSE|RAW|ROWID|NCLOB|NCHAR|UROWID|RECORD|VARRAY|VARCHAR2|" . "DEC|DECIMAL|DOUBLE|PRECISION|FLOAT|INTEGER|INT|NUMERIC|REAL|SMALLINT|" . "PLS_INTEGER|USING|ASC|DESC|ROWNUM" . "ABS|ACOS|ADD_MONTHS|ATAN|ATAN2|CEIL|COS|COSH|EXP|FLOOR|" . "LN|LOG|MOD|POWER|ROUND|SIGN|SIN|SINH|SQRT|TAN|TANH|" . "CHR|CONCAT|INITCAP|LOWER|LPAD|LTRIM|NLS_INITCAP|" . "NLS_LOWER|NLSSORT|NLS_UPPER|REPLACE|RPAD|RTRIM|SOUNDEX|" . "SUBSTR|SUBSTRB|TRANSLATE|TRIM|UPPER|ASCII|INSTR|" . "INSTRB|LENGTH|" . "LENGTHB|ADD_MONTHS|LAST_DAY|MONTHS_BETWEEN|" . "NEW_TIME|NEXT_DAY|" . "SYSDATE|TRUNC|CHARTOROWID|CONVERT|HEXTORAW|RAWTOHEX|ROWIDTOCHAR|" . "TO_CHAR|TO_DATE|" . "TO_LOB|TO_MULTI_BYTE|TO_NUMBER|TO_SINGLE_BYTE|BFILENAME|DUMP|EMPTY_BLOB|" . "EMPTY_CLOB|GREATEST|LEAST|" . "NLS_CHARSET_DECL_LEN|NLS_CHARSET_ID|NLS_CHARSET_NAME|NVL|SYS_CONTEXT|" . "SYS_GUID|UID|USER|USERENV|VSIZE|" . "DEREF|MAKE_REF|" . "REF|REFTOHEX|" . "VALUE|AVG|COUNT|GROUPING|" . "MAX|MIN|STDDEV|" . "SUM|VARIANCE";
    $SQL = str_replace("/*", "<I>/*", $SQL);
    $SQL = str_replace("*/", "*/</I>", $SQL);
    $SQL = ereg_replace("([^A-Za-z0-9_])({$SqlKeywords})([^A-Za-z0-9_])", "\\1<B>\\2</B>\\3", $SQL);
    $SQL = ereg_replace("([^>A-Za-z0-9_])({$SqlKeywords})([^<A-Za-z0-9_])", "\\1<B>\\2</B>\\3", $SQL);
    $SQL = ereg_replace(":(new|old)", ":<B>\\1</B>", $SQL);
    $SQL = ereg_replace("--([^\n]*)[\n]", "<I>--\\1</I>\n", $SQL);
    $SQL = ereg_replace("'([^']*)'", "<Q>'\\1'</Q>", $SQL);
    $SQL = ereg_replace("'([^']*)'", "<Q>'\\1'</Q>", $SQL);
    $SQL = ereg_replace("%(TYPE|ROWCOUNT|ROWTYPE|NOTFOUND)", "%<B>\\1</B>", $SQL);
    return $SQL;
}
echo FormatSQL("SELECT * FROM MyTable WHERE x = 'hello'; /* comment */");
Example #2
0
function struct_get_list($iTypes)
{
    $aArguments[0] = $iTypes;
    $sSQL = FormatSQL(SQL_TYPE_OBJECTS, $aArguments);
    $iResult = mysql_query($sSQL);
    if ($iResult) {
        $i = 0;
        while ($aRow = mysql_fetch_array($iResult)) {
            $aaRows[$i] = $aRow;
            $i = $i + 1;
        }
    }
    return $aaRows;
}