Nadstavba nad cMySQL a cQuery.
Získání:
cd TARGET_PATH
git submodule add -b main --depth=1 git@github.com:IndigoMultimediaTeam/db_utils.git… více o submodulech v git submodule. V případě „negit” projektu, stačí prostě klasicky nakolnovat.
Po require_*, před použitím je potřeba namapovat databázi (typicky instanci cMySQL):
<?php
$__DB = new cMySQL($__DB_CONNECT_STRING); //viz typicky `kerner/kernel.php`
require_once 'db_utils/db_utils.php';
db_utils::setDB($__DB);Třída umožňuje řetězení:
<?php
db_utils::query(/* A */)->/* B */->execute()->/* C */;… kde:
- A: Klasický MySQL dotaz podporující „statické proměnné” ::promenna:: a „dynamické” ::index:: známé z 
cQuery. - B: Metody 
set/map/setJoinCommapro práci se „statickými proměnnými”. - C: Metody známé z 
cQuery. 
<?php
$rows= db_utils::query("SELECT ::cols:: FROM `table` AS T")
	->setJoinComma('cols', array('id','name'), '`', 'T') //= SELECT T.`id`, T.`name` FROM `table` AS T
	->execute()
	->Rows();<?php
$q_rows= db_utils::query("SELECT ::cols:: FROM `table` AS T")->freeze();
$row_id= $q_rows->set('cols', 'id')->execute()->Rows();
$row_all= $q_rows->set('cols', '*')->execute()->Rows();<?php
$row= db_utils::query("SELECT * FROM `table` WHERE id=::0::")
	->execute(5)
	->Row();<?php
db_utils::setDB(db_utils::debugDB());
$row= db_utils::query("SELECT * FROM `table` WHERE id=::0::")
	->execute(5)
	->Row();<?php
$row= db_utils::query(db_utils::debugDB(), "SELECT * FROM `table` WHERE id=::0::")
	->execute(5)
	->Row();