hasFullExplain() && isset($_POST['explain']) && isset($_POST['query'])) { $_POST['query'] = $data->getExplainSQL($_POST['query'], false); $_REQUEST['query'] = $_POST['query']; } elseif ($data->hasFullExplain() && isset($_POST['explain_analyze']) && isset($_POST['query'])) { $_POST['query'] = $data->getExplainSQL($_POST['query'], true); $_REQUEST['query'] = $_POST['query']; } // Check to see if pagination has been specified. In that case, send to display // script for pagination if (isset($_POST['paginate'])) { include('./display.php'); exit; } $PHP_SELF = $_SERVER['PHP_SELF']; $misc->printHeader($lang['strqueryresults']); $misc->printBody(); $misc->printDatabaseNav(); echo "

", $misc->printVal($_REQUEST['database']), ": {$lang['strsql']}: {$lang['strqueryresults']}

\n"; // Set fetch mode to NUM so that duplicate field names are properly returned $data->conn->setFetchMode(ADODB_FETCH_NUM); // Execute the query $rs = $data->conn->Execute($_POST['query']); // $rs will only be an object if there is no error if (is_object($rs)) { // Now, depending on what happened do various things // First, if rows returned, then display the results if ($rs->recordCount() > 0) { echo "\n"; foreach ($rs->f as $k => $v) { $finfo = $rs->fetchField($k); echo ""; } $i = 0; while (!$rs->EOF) { $id = (($i % 2) == 0 ? '1' : '2'); echo "\n"; foreach ($rs->f as $k => $v) { $finfo = $rs->fetchField($k); echo ""; } echo "\n"; $rs->moveNext(); $i++; } echo "
", $misc->printVal($finfo->name), "
", $misc->printVal($v, true, $finfo->type), "
\n"; echo "

", $rs->recordCount(), " {$lang['strrows']}

\n"; } // Otherwise if any rows have been affected elseif ($data->conn->Affected_Rows() > 0) { echo "

", $data->conn->Affected_Rows(), " {$lang['strrowsaff']}

\n"; } // Else say success else echo "

{$lang['strsqlexecuted']}

\n"; } echo "

{$lang['streditsql']}"; if ($conf['show_reports'] && isset($rs) && is_object($rs) && $rs->recordCount() > 0) { echo " | {$lang['strcreatereport']}"; } echo "

\n"; $misc->printFooter(); ?>