DataBridge

DataBridge is a schema-aware runtime database abstraction layer. It provides safe CRUD operations, query helpers, joins, dot-walking, JSON import/export, and schema introspection.


Installation

Add DataBridge to your project:


loadfunction("DataBridge");

Requires PHP 7.4+, PDO, and MySQL/MariaDB.


Lifecycle Overview

  • Create instance for a table
  • Apply conditions
  • Perform CRUD / read operations
  • Dispose instance (per-request)

Examples

1. Insert Data


$db = new DataBridge("users");
$db->addRowData("name", "Alex");
$db->addRowData("email", "alex@example.com");
$id = $db->insertRow();

2. Fetch Rows (Cursor-based)


$db = new DataBridge("users");
$db->addANDCondition("status='active'");
$db->orderBy("created_at");

while ($row = $db->getNextRow()) {
    echo $row['email'];
}

3. Fetch All Rows


$db = new DataBridge("users");
$rows = $db->getAllRows();

4. Update Data


$db = new DataBridge("users");
$db->addANDCondition("email='alex@example.com'");
$db->updateRowData("name", "Bob");
$db->updateRow();

5. Delete Data


$db = new DataBridge("users");
$db->addANDCondition("status='inactive'");
$db->deleteRow();

6. Counts & Analytics


$count = $db->getRowCount();
$unique = $db->getUniqueCountRow("email");

7. Unique Row (No Repeats)


$row = $db->getUniqueRow("email");

8. Joins


$db = new DataBridge("orders");
$rows = $db->joinTables([
  ['table' => 'users', 'on' => 'orders.user_id = users.id']
]);

9. Dot-Walk


$rows = $db->dotWalk($rows, [
  'user_name' => 'users.name'
]);

10. JSON Export / Import


$json = $db->toJSON();
$db->fromJSON($json, false);

11. Schema Discovery


$schema = $db->getTableSchema();
$columns = $db->getColumns();
$fks = $db->getForeignKeys();

API Reference

MethodDescription
addRowData()Add column data
addANDCondition()AND condition
addORCondition()OR condition
insertRow()Insert row
updateRow()Update rows
deleteRow()Delete rows
getAllRows()Fetch rows
getNextRow()Cursor fetch
getRowCount()Count rows
getUniqueRow()Unique fetch
joinTables()LEFT joins
dotWalk()Resolve references
toJSON()Export JSON
fromJSON()Import JSON

Best Practices

  • Always use WHERE conditions for update/delete
  • Prefer dot-walk over heavy joins
  • Use cursor-based reads for large tables

Anti-Patterns

  • Running schema changes via DataBridge
  • Using raw SQL conditions from user input
  • Long-lived instances