dibi conditional SQL example

 'sqlite',
    'database' => 'sample.sdb',
));


$cond1 = rand(0,2) < 1;
$cond2 = rand(0,2) < 1;


$name = $cond1 ? 'K%' : NULL;

// if & end
dibi::test('
SELECT *
FROM [customers]
%if', isset($name), 'WHERE [name] LIKE %s', $name, '%end'
);


// if & else & end (last end is optional)
dibi::test('
SELECT *
FROM %if', $cond1, '[customers] %else [products]'
);


// nested condition
dibi::test('
SELECT *
FROM [customers]
WHERE
    %if', isset($name), '[name] LIKE %s', $name, '
        %if', $cond2, 'AND [admin]=1 %end
    %else 1 LIMIT 10 %end'
);