1
0
mirror of https://github.com/dg/dibi.git synced 2025-08-05 05:37:39 +02:00

bugfix, enhanced error reporting, better examples

This commit is contained in:
David Grudl
2007-05-11 22:25:32 +00:00
parent d03f60c43c
commit f766827219
19 changed files with 123 additions and 230 deletions

View File

@@ -4,42 +4,72 @@
require_once '../dibi/dibi.php';
// CHANGE TO REAL PARAMETERS!
dibi::connect(array(
'driver' => 'mysql',
'host' => 'localhost',
'username' => 'root',
'password' => 'xxx',
'database' => 'dibi',
'charset' => 'utf8',
'driver' => 'sqlite',
'database' => 'sample.sdb',
));
$res = dibi::query('SELECT * FROM [mytable]');
if (!$res) die('SQL error');
/*
TABLE products
product_id | title
-----------+----------
1 | Chair
2 | Table
3 | Computer
*/
// fetch a single value
$res = dibi::query('SELECT [title] FROM [products]');
if (!$res) die('SQL error');
$value = $res->fetchSingle();
print_r($value); // Chair
echo '<hr>';
// fetch complete result set
$res = dibi::query('SELECT * FROM [products]');
$all = $res->fetchAll();
print_r($all);
echo '<hr>';
// fetch complete result set like association array
$assoc = $res->fetchAssoc('id');
$assoc = $res->fetchAssoc('title'); // key
print_r($assoc);
echo '<hr>';
$assoc = $res->fetchAssoc('id', 'id2');
// fetch complete result set like pairs key => value
$pairs = $res->fetchPairs('id', 'name');
$pairs = $res->fetchPairs('product_id', 'title');
print_r($pairs);
echo '<hr>';
// fetch row by row
foreach ($res as $row => $fields) {
print_r($fields);
}
echo '<hr>';
// fetch row by row with defined offset and limit
foreach ($res->getIterator(2, 3) as $row => $fields) {
foreach ($res->getIterator(2, 1) as $row => $fields) {
print_r($fields);
}
// more complex association array
$res = dibi::query('
SELECT * FROM [products]
INNER JOIN [orders] USING ([product_id])
INNER JOIN [customers] USING ([customer_id])
');
$assoc = $res->fetchAssoc('customers.name,products.title'); // key
print_r($assoc);
echo '<hr>';