/** * Basic setup of the mock database to perform tests against. * */ public static function setUpBeforeClass() { self::$di = new \Anax\DI\CDIFactoryDefault(); self::$app = new \Anax\MVC\CApplicationBasic(self::$di); self::$di->setShared('db', function () { $db = new \Mos\Database\CDatabaseBasic(); $db->setOptions(['dsn' => "sqlite:memory::", "verbose" => false]); $db->connect(); $db->dropTableIfExists('content')->execute(); $db->createTable('content', ['id' => ['integer', 'primary key', 'not null', 'auto_increment'], 'slug' => ['varchar(80)', 'unique'], 'url' => ['varchar(80)', 'unique'], 'type' => ['varchar(80)'], 'title' => ['varchar(80)'], 'data' => ['text'], 'filter' => ['char(80)'], 'created' => ['datetime'], 'published' => ['datetime'], 'updated' => ['datetime'], 'deleted' => ['datetime'], 'owner' => ['varchar(80)'], 'updated_by' => ['varchar(80)']])->execute(); $now = gmdate('Y-m-h H:i:s'); $db->insert('content', ['slug', 'type', 'title', 'data', 'created', 'published', 'owner']); $db->execute(['a-first-article', 'article', 'A first article', 'This is the text of the first article.', $now, $now, 'admin']); return $db; }); }
<?php require "../src/Database/TSQLQueryBuilderBasic.php"; require "../src/Database/CDatabaseBasic.php"; $db = new \Mos\Database\CDatabaseBasic(); // // Create a table // $db->setTablePrefix('mos_'); $db->createTable('test', ['id' => ['integer', 'primary key', 'not null'], 'age' => ['integer'], 'text' => ['varchar(20)'], 'text2' => ['varchar(20)']]); echo "<pre>" . $db->getSQL() . "</pre>"; // // Insert a single row into table using key => value // $db->insert('test', ['id' => 2, 'text' => "Mumintrollet", 'text2' => "Mumindalen"]); echo "<pre>" . $db->getSQL() . "</pre>"; // // Insert a single row into table using two arrays // $db->insert('test', ['id', 'text', 'text2'], [2, "Mumintrollet", "Mumindalen"]); echo "<pre>" . $db->getSQL() . "</pre>"; // // Insert a single row into table using one array (rest will be sent as parameters) // $db->insert('test', ['id', 'text', 'text2']); echo "<pre>" . $db->getSQL() . "</pre>"; // // Update a single row using key => value // $db->update('test', ['age' => 22, 'text' => "Mumintrollet", 'text2' => "Mumindalen"], "id = 2"); echo "<pre>" . $db->getSQL() . "</pre>";