mirror of
https://github.com/dg/dibi.git
synced 2025-01-17 22:28:50 +01:00
86 lines
1.9 KiB
PHP
86 lines
1.9 KiB
PHP
<!DOCTYPE html><link rel="stylesheet" href="data/style.css">
|
|
|
|
<h1>Fetching Examples | dibi</h1>
|
|
|
|
<?php
|
|
|
|
require_once 'Nette/Debugger.php';
|
|
require_once '../dibi/dibi.php';
|
|
|
|
|
|
dibi::connect(array(
|
|
'driver' => 'sqlite',
|
|
'database' => 'data/sample.sdb',
|
|
));
|
|
|
|
|
|
/*
|
|
TABLE products
|
|
|
|
product_id | title
|
|
-----------+----------
|
|
1 | Chair
|
|
2 | Table
|
|
3 | Computer
|
|
|
|
*/
|
|
|
|
|
|
// fetch a single row
|
|
echo "<h2>fetch()</h2>\n";
|
|
$row = dibi::fetch('SELECT title FROM products');
|
|
Debugger::dump($row); // Chair
|
|
|
|
|
|
// fetch a single value
|
|
echo "<h2>fetchSingle()</h2>\n";
|
|
$value = dibi::fetchSingle('SELECT title FROM products');
|
|
Debugger::dump($value); // Chair
|
|
|
|
|
|
// fetch complete result set
|
|
echo "<h2>fetchAll()</h2>\n";
|
|
$all = dibi::fetchAll('SELECT * FROM products');
|
|
Debugger::dump($all);
|
|
|
|
|
|
// fetch complete result set like association array
|
|
echo "<h2>fetchAssoc('title')</h2>\n";
|
|
$res = dibi::query('SELECT * FROM products');
|
|
$assoc = $res->fetchAssoc('title'); // key
|
|
Debugger::dump($assoc);
|
|
|
|
|
|
// fetch complete result set like pairs key => value
|
|
echo "<h2>fetchPairs('product_id', 'title')</h2>\n";
|
|
$pairs = $res->fetchPairs('product_id', 'title');
|
|
Debugger::dump($pairs);
|
|
|
|
|
|
// fetch row by row
|
|
echo "<h2>using foreach</h2>\n";
|
|
foreach ($res as $n => $row) {
|
|
Debugger::dump($row);
|
|
}
|
|
|
|
|
|
// more complex association array
|
|
$res = dibi::query('
|
|
SELECT *
|
|
FROM products
|
|
INNER JOIN orders USING (product_id)
|
|
INNER JOIN customers USING (customer_id)
|
|
');
|
|
|
|
echo "<h2>fetchAssoc('customers.name|products.title')</h2>\n";
|
|
$assoc = $res->fetchAssoc('customers.name|products.title'); // key
|
|
Debugger::dump($assoc);
|
|
|
|
echo "<h2>fetchAssoc('customers.name[]products.title')</h2>\n";
|
|
$assoc = $res->fetchAssoc('customers.name[]products.title'); // key
|
|
Debugger::dump($assoc);
|
|
|
|
echo "<h2>fetchAssoc('customers.name->products.title')</h2>\n";
|
|
$assoc = $res->fetchAssoc('customers.name->products.title'); // key
|
|
Debugger::dump($assoc);
|