2006-06-07 15:50:32 +00:00
|
|
|
|
<style>
|
|
|
|
|
pre.dibi { padding-bottom: 10px; }
|
|
|
|
|
</style>
|
2007-09-29 07:53:25 +00:00
|
|
|
|
<h1>dibi SQL builder example</h1>
|
2006-06-04 23:06:33 +00:00
|
|
|
|
<pre>
|
|
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
require_once '../dibi/dibi.php';
|
|
|
|
|
|
2006-11-22 12:55:24 +00:00
|
|
|
|
// required since PHP 5.1.0
|
2007-11-28 15:56:57 +00:00
|
|
|
|
date_default_timezone_set('Europe/Prague');
|
2006-11-22 12:55:24 +00:00
|
|
|
|
|
|
|
|
|
|
2006-06-04 23:06:33 +00:00
|
|
|
|
dibi::connect(array(
|
2007-05-11 22:25:32 +00:00
|
|
|
|
'driver' => 'sqlite',
|
|
|
|
|
'database' => 'sample.sdb',
|
2006-06-04 23:06:33 +00:00
|
|
|
|
));
|
|
|
|
|
|
|
|
|
|
|
2006-06-07 15:50:32 +00:00
|
|
|
|
// dibi detects INSERT or REPLACE command
|
2007-11-28 15:56:57 +00:00
|
|
|
|
dibi::test('
|
|
|
|
|
REPLACE INTO [products]', array(
|
|
|
|
|
'title' => 'Drti<74>ka na tr<74>vu',
|
|
|
|
|
'price' => 318,
|
|
|
|
|
'active' => TRUE,
|
|
|
|
|
));
|
2006-06-07 15:50:32 +00:00
|
|
|
|
|
|
|
|
|
|
2007-11-28 15:56:57 +00:00
|
|
|
|
// multiple INSERT command
|
|
|
|
|
$array = array(
|
|
|
|
|
'title' => 'Super Product',
|
|
|
|
|
'price' => 12,
|
|
|
|
|
'brand' => NULL,
|
|
|
|
|
'created' => dibi::datetime(),
|
|
|
|
|
);
|
|
|
|
|
dibi::test("INSERT INTO [products]", $array, $array, $array);
|
2007-05-30 00:01:10 +00:00
|
|
|
|
|
|
|
|
|
|
2006-06-07 15:50:32 +00:00
|
|
|
|
// dibi detects UPDATE command
|
2007-11-28 15:56:57 +00:00
|
|
|
|
dibi::test("
|
|
|
|
|
UPDATE [colors] SET", array(
|
|
|
|
|
'color' => 'blue',
|
|
|
|
|
'order' => 12,
|
2007-11-30 10:12:45 +00:00
|
|
|
|
), "
|
|
|
|
|
WHERE [id]=%i", 123);
|
2007-08-27 22:38:14 +00:00
|
|
|
|
|
|
|
|
|
|
2007-11-28 15:56:57 +00:00
|
|
|
|
// SELECT
|
|
|
|
|
$ipMask = '192.168.%';
|
|
|
|
|
$timestamp = mktime(0, 0, 0, 10, 13, 1997);
|
2007-08-27 22:38:14 +00:00
|
|
|
|
|
2007-11-28 15:56:57 +00:00
|
|
|
|
dibi::test('
|
|
|
|
|
SELECT COUNT(*) as [count]
|
|
|
|
|
FROM [comments]
|
2007-11-30 10:12:45 +00:00
|
|
|
|
WHERE [ip] LIKE %s', $ipMask, '
|
|
|
|
|
AND [date] > ', dibi::date($timestamp)
|
2007-11-28 15:56:57 +00:00
|
|
|
|
);
|
2007-08-27 22:38:14 +00:00
|
|
|
|
|
2007-09-29 07:53:25 +00:00
|
|
|
|
|
2007-11-28 15:56:57 +00:00
|
|
|
|
// IN array
|
|
|
|
|
$array = array(1, 2, 3);
|
2007-11-30 10:12:45 +00:00
|
|
|
|
dibi::test("
|
|
|
|
|
SELECT *
|
|
|
|
|
FROM [people]
|
|
|
|
|
WHERE [id] IN (", $array, ")
|
|
|
|
|
");
|