<?PHP // This file is intended as example and for testing purposes of pDB_SQL_PARSER
// load parser-class require_once( 'pDB_SQL_PARSER.php'); require_once( 'pDB_TABLE_OBJ.php'); require_once( 'pDB_CORE.php');
// read queries from 'common_queries.txt' $queries = file( 'common_queries.txt', false); array_push( $queries, ''); $num_queries = count( $queries); // trim linebreak from each query for ( $q=0; $q<$num_queries; $q++){ $queries[$q] = trim( $queries[$q]); }
// show HTML-interface if ( $_REQUEST['exec']) $CHECKED = "CHECKED"; else $CHECKED = ""; $query_sel = "<form action='' method=POST>"; $query_sel .= "<input type=checkbox name=exec value=1 $CHECKED>Execute code <br>"; // custom SQL-query (entry made by user) $query_sel .= "SQL-query:<br>"; $query_sel .= "<textarea name=sqlAB cols=120 rows=2>"; $query_sel .= @$_REQUEST['sqlAB']; $query_sel .= "</textarea><br>"; // premade queries $query_sel .= "Select query to test:<br>"; $query_sel .= "<select name=QID>"; for ( $i=0; $i<$num_queries; $i++){ $selected = ""; if ( @$_REQUEST['QID'] == $i) $selected = "SELECTED"; $query_sel .= "\t<option value='$i' $selected>$queries[$i];</option>"; } $query_sel .= "</select>"; $query_sel .= "<input type=submit value=Go><br>"; $query_sel .= "</form>";
// parse sqlAB entered by user (if given) or execute // query specified by QID when sqlAB is empty $parser = new pDB_SQL_PARSER; if ( strlen( @$_REQUEST['sqlAB']) > 0){ $sqlAB = $_REQUEST['sqlAB']; $code = $parser->parse( $sqlAB); }elseif ( isset( $_REQUEST['QID'])){ $sqlAB = $queries[$_REQUEST['QID']] . ';'; $code = $parser->parse( $sqlAB); }
// show interface echo "<h1>pDB_SQL_PARSER quick-test</h1>"; echo $query_sel; echo "<p>"; echo "Statements:<br>"; echo "<textarea cols=120 rows=3>"; if ( $parser) print_r( $parser->STATEMENTS); echo "</textarea>"; echo "</p>\n"; echo "<p>"; echo "Statements (tokenized):<br>"; echo "<textarea cols=120 rows=5>"; if ( $parser) print_r( $parser->TOKENS); echo "</textarea>"; echo "</p>\n";
// generated code echo "Generated code:<br>"; if ( $parser){ $code = $parser->OUT; echo "<textarea cols=120 rows=3>"; echo $code; echo "</textarea><br>"; }
// execute code if ( @$_REQUEST['exec']){ $PDB = new pDB_CORE(); $PDB->pDB_init( 'pDB.conf.php'); $PDB->pDB_login( 'root', 'pDB'); $res = $PDB->pDB_exec( $code); if ( $res) { ob_start(); echo "<p>"; echo '<b>Result:</b><br>'; echo "<textarea cols=120 rows=5>"; print_r( $res); echo "</textarea>"; echo "</p>\n"; $out = ob_get_contents(); #echo $out; } }
// debug echo "<p>Debug:<br>"; echo "<textarea cols=120 rows=5>"; if ( $parser){ while( $error = $parser->err_get()){ echo $error; } } if ( $PDB){ while( $error = $PDB->_get_message()){ echo $error; } } echo "</textarea>"; echo "</p>"; echo "<div align=right><small>pDB_SQL_PARSER_VERSION: " . PDB_SQL_PARSER_VERSION . "</small></div>"; echo "<div align=right><small>pDB_CORE_VERSION: " . PDB_CORE_VER . "</small></div>"; ?>
|