Execute Query
Available Queries
';
echo '';
foreach ($queries as $line) {
list($label, $query) = explode('|', $line, 2);
echo '';
}
echo '';
} else {
echo "{$file} file not found.
";
}
?>
getConnection();
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$query = $_POST['query'] ?? '';
$as_csv = !empty($_POST['csv_output']);
// Helper: CSV line builder (RFC 4180 style quoting)
$csv_line = function(array $vals): string {
$out = [];
foreach ($vals as $v) {
if ($v === null) {
$out[] = '';
continue;
}
$s = (string)$v;
// Normalize line breaks
$s = str_replace(["\r\n", "\r"], "\n", $s);
// Escape double quotes by doubling them
if (strpbrk($s, ",\"\n") !== false) {
$s = '"' . str_replace('"', '""', $s) . '"';
}
$out[] = $s;
}
return implode(',', $out);
};
// Split on semicolons (simple splitter; won’t handle semicolons inside strings)
$queries = array_filter(array_map('trim', explode(';', $query)));
foreach ($queries as $sql) {
if ($sql === '') { continue; }
echo "" . htmlspecialchars($sql) . "
";
$result = $conn->query($sql);
if ($result === FALSE) {
echo "Error: " . htmlspecialchars($conn->error) . "
";
} elseif ($result === TRUE) {
echo "Query executed successfully.
";
} else {
// SELECT-like result
if ($as_csv) {
// Build header
$fields = $result->fetch_fields();
$headers = array_map(fn($f) => $f->name, $fields);
$csv = [];
$csv[] = $csv_line($headers);
// Rows
while ($row = $result->fetch_assoc()) {
// Preserve column order per $headers
$vals = [];
foreach ($headers as $h) { $vals[] = $row[$h]; }
$csv[] = $csv_line($vals);
}
$csv_text = implode("\n", $csv) . "\n";
// Show in a textarea for easy copy without HTML escaping issues
// Adjust rows/cols as you like
$rows = min(40, max(10, count($csv) + 2));
echo '
';
} else {
// HTML table
echo "";
$fields = $result->fetch_fields();
foreach ($fields as $field) {
echo "| " . htmlspecialchars($field->name) . " | ";
}
echo "
";
while ($row = $result->fetch_assoc()) {
echo "";
foreach ($row as $value) {
echo "| " . htmlspecialchars((string)$value) . " | ";
}
echo "
";
}
echo "
";
}
}
}
$conn->close();
}
?>