";
return $arrOut;
}
function StripDBfromTableSpecIfThere($strTableSpec, $bwlStripDatabase=true)
{
if( $bwlStripDatabase)
{
if(contains($strTableSpec, "."))
{
$arrParts=explode(".", $strTableSpec);
$strTableSpec=$arrParts[1];
}
}
$strTableSpec=FilterString($strTableSpec,"a-z A-Z 0-9 _-_ .-.", "");
return $strTableSpec;
}
function FindWhereClause($strSQL)
{
$strBeingSought="where";
$strEndKeywords="group having order limit procedure into for";
return FindSQLClause($strSQL, $strBeingSought, $strEndKeywords);
}
function FindSQLClause($strSQL, $strBeingSought, $strEndKeywords)
{
//finds and returns the where condition in SQL
set_time_limit(10);
//$strBeingSought="where";
//$strEndKeywords="group having order limit procedure into for";
$strLcaseSQL=strtolower($strSQL);
$intSoughtPos=strpos($strLcaseSQL, $strBeingSought);
$strPossibleClause=substr($strSQL, $intSoughtPos + strlen($strBeingSought));
$intPostEnd=strlen($strPossibleClause);
//echo $intPostEnd;
$intOldPostEnd=-900;
while($intPostEnd>0 && $intOldPostEnd!=$intPostEnd)
{
$intOldPostEnd=$intPostEnd;
$intPostEnd=PosInList($strEndKeywords, $strPossibleClause, " ", true, $quotechar="'");
//echo $intPostEnd . "=poswhere
";
$strPossibleClause=substr($strPossibleClause, 0, $intPostEnd);
//echo $strPossibleClause . "=posclaus
";
}
//echo $strPossibleClause;
return $strPossibleClause;
}
function IsolateWhereClause($strSQL)
{
//finds and returns the where condition in SQL
set_time_limit(10);
$strBeingSought="where";
$strEndKeywords="limit group having order procedure into";
$strLcaseSQL=strtolower($strSQL);
$intSoughtPos=strpos($strLcaseSQL, $strBeingSought);
$strPossibleWhereClause=substr($strSQL, $intSoughtPos + strlen($strBeingSought));
$intPostEndWhere=strlen($intPostEndWhere);
while($intPostEndWhere>-1)
{
$intPostEndWhere=PosInList($strBeingSought, $strPossibleWhereClause, " ", true, $quotechar="'");
//echo $intPostEndWhere . "=poswhere
";
$strPossibleWhereClause=substr($strPossibleWhereClause, 0, $intPostEndWhere);
}
return $strPossibleWhereClause;
}
function ActSQL($strDatabase, $strPHP, $strSQL, $bwlTruncate, $bwlSuppressLogging=false, $bwlEditableResults=false, $strPostRunScript="")
//runs $strSQL (handling every line if they are separated by ";") and displays results in labeled HTML tables
//also shows errors if there are problems
//Judas Gutenberg, nov 26 2006
{
$sql=conDB();
mysql_select_db($strDatabase);
$strLineClass="bgclassline";
$strClassFirst="bgclassfirst";
$strClassSecond="bgclasssecond";
$strOtherBgClass="bgclassother";
$strOtherLineClass="bgclassline";
$strThisBgClass=$strLineClass;
$arrTablePKs=Array();
$arrPKPositions=Array();
$specialMessage="";
$arrSQL =ParseStringToArraySkippingQuotedRegions($strSQL);
$out= "";
$out.="