mirror of
https://github.com/dg/dibi.git
synced 2025-08-06 22:26:43 +02:00
* modified DibiException (getDbError, ...)
* fix dibi::dumpResult()
This commit is contained in:
@@ -4,55 +4,53 @@ require_once '../dibi/dibi.php';
|
||||
|
||||
|
||||
try {
|
||||
// connects using DSN
|
||||
|
||||
// connects to MySQL using DSN
|
||||
dibi::connect('driver=mysql&host=localhost&username=root&password=xxx&database=test&charset=utf8');
|
||||
|
||||
|
||||
// connects to MySQL / MySQLi
|
||||
dibi::connect(array(
|
||||
'driver' => 'mysql', // or 'mysqli'
|
||||
'host' => 'localhost',
|
||||
'username' => 'root',
|
||||
'password' => 'xxx',
|
||||
'database' => 'dibi',
|
||||
'charset' => 'utf8',
|
||||
));
|
||||
|
||||
|
||||
// connects to ODBC
|
||||
dibi::connect(array(
|
||||
'driver' => 'odbc',
|
||||
'username' => 'root',
|
||||
'password' => '***',
|
||||
'database' => 'Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\\Database.mdb',
|
||||
));
|
||||
|
||||
|
||||
// connects to SQlite
|
||||
dibi::connect(array(
|
||||
'driver' => 'sqlite',
|
||||
'database' => 'mydb.sdb',
|
||||
));
|
||||
|
||||
|
||||
// connects to PostgreSql
|
||||
dibi::connect(array(
|
||||
'driver' => 'postgre',
|
||||
'string' => 'host=localhost port=5432 dbname=mary',
|
||||
'persistent' => TRUE,
|
||||
));
|
||||
|
||||
|
||||
} catch (DibiException $e) {
|
||||
echo "DibiException: " . $e->getMessage();
|
||||
die();
|
||||
|
||||
echo "DibiException: <pre>", $e;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// connects to mysql
|
||||
dibi::connect(array(
|
||||
'driver' => 'mysql',
|
||||
'host' => 'localhost',
|
||||
'username' => 'root',
|
||||
'password' => 'xxx', // change to real password!
|
||||
'database' => 'test',
|
||||
'charset' => 'utf8',
|
||||
));
|
||||
|
||||
/* connects to ODBC
|
||||
dibi::connect(array(
|
||||
'driver' => 'odbc',
|
||||
'username' => 'root',
|
||||
'password' => '***',
|
||||
'database' => 'Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\\Database.mdb',
|
||||
));
|
||||
*/
|
||||
|
||||
/* connects to SQlite
|
||||
dibi::connect(array(
|
||||
'driver' => 'sqlite',
|
||||
'database' => 'mydb.sdb',
|
||||
));
|
||||
*/
|
||||
|
||||
/* connects to PostgreSql
|
||||
dibi::connect(array(
|
||||
'driver' => 'postgre',
|
||||
'string' => 'host=localhost port=5432 dbname=mary',
|
||||
'persistent' => TRUE,
|
||||
));
|
||||
*/
|
||||
|
||||
|
||||
// check status
|
||||
if (!dibi::isConnected()) {
|
||||
echo 'dibi::isConnected(): Not connected';
|
||||
} else {
|
||||
echo 'Connected';
|
||||
}
|
||||
|
||||
?>
|
@@ -4,7 +4,7 @@ require_once '../dibi/dibi.php';
|
||||
|
||||
// required since PHP 5.1.0
|
||||
if (function_exists('date_default_timezone_set'))
|
||||
date_default_timezone_set('Europe/Prague'); // or 'GMT'
|
||||
date_default_timezone_set('Europe/Prague');
|
||||
|
||||
|
||||
/**
|
||||
@@ -55,12 +55,13 @@ class TDateTime implements IDibiVariable
|
||||
|
||||
|
||||
|
||||
// connects to mysqli
|
||||
// CHANGE TO REAL PARAMETERS!
|
||||
dibi::connect(array(
|
||||
'driver' => 'mysql',
|
||||
'host' => 'localhost',
|
||||
'username' => 'root',
|
||||
'password' => 'xxx', // change to real password!
|
||||
'password' => 'xxx',
|
||||
'database' => 'dibi',
|
||||
'charset' => 'utf8',
|
||||
));
|
||||
|
||||
@@ -68,7 +69,7 @@ dibi::connect(array(
|
||||
|
||||
// generate and dump SQL
|
||||
dibi::test("
|
||||
INSERT INTO [test]", array(
|
||||
INSERT INTO [mytable]", array(
|
||||
'A' => 12,
|
||||
'B' => NULL,
|
||||
'C' => new TDateTime(31542), // using out class
|
||||
@@ -76,4 +77,3 @@ INSERT INTO [test]", array(
|
||||
));
|
||||
|
||||
|
||||
?>
|
38
examples/dump.php
Normal file
38
examples/dump.php
Normal file
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
|
||||
require_once '../dibi/dibi.php';
|
||||
|
||||
if (function_exists('date_default_timezone_set'))
|
||||
date_default_timezone_set('Europe/Prague');
|
||||
|
||||
|
||||
// CHANGE TO REAL PARAMETERS!
|
||||
dibi::connect(array(
|
||||
'driver' => 'mysql',
|
||||
'host' => 'localhost',
|
||||
'username' => 'root',
|
||||
'password' => 'xxx',
|
||||
'database' => 'dibi',
|
||||
'charset' => 'utf8',
|
||||
));
|
||||
|
||||
|
||||
|
||||
$res = dibi::query('SELECT * FROM [mytable]');
|
||||
|
||||
// get last SQL
|
||||
$sql = dibi::$sql;
|
||||
|
||||
|
||||
// dump it
|
||||
echo '<h1>dibi::dump()</h1>';
|
||||
|
||||
dibi::dump($sql);
|
||||
|
||||
|
||||
// dump result table
|
||||
echo '<h1>dibi::dumpResult()</h1>';
|
||||
|
||||
dibi::dumpResult($res);
|
||||
|
||||
|
@@ -4,18 +4,18 @@
|
||||
require_once '../dibi/dibi.php';
|
||||
|
||||
|
||||
// mysql
|
||||
// CHANGE TO REAL PARAMETERS!
|
||||
dibi::connect(array(
|
||||
'driver' => 'mysql',
|
||||
'host' => 'localhost',
|
||||
'username' => 'root',
|
||||
'password' => 'xxx', // change to real password!
|
||||
'database' => 'test',
|
||||
'password' => 'xxx',
|
||||
'database' => 'dibi',
|
||||
'charset' => 'utf8',
|
||||
));
|
||||
|
||||
|
||||
$res = dibi::query('SELECT * FROM table');
|
||||
$res = dibi::query('SELECT * FROM [mytable]');
|
||||
if (!$res) die('SQL error');
|
||||
|
||||
|
||||
@@ -46,4 +46,3 @@ foreach ($res->getIterator(2, 3) as $row => $fields) {
|
||||
|
||||
|
||||
|
||||
?>
|
@@ -1,4 +1,3 @@
|
||||
<pre>
|
||||
<?php
|
||||
|
||||
require_once '../dibi/dibi.php';
|
||||
@@ -19,26 +18,56 @@ dibi::$logMode = 'a';
|
||||
dibi::$logAll = TRUE;
|
||||
|
||||
|
||||
// mysql
|
||||
|
||||
// CHANGE TO REAL PARAMETERS!
|
||||
dibi::connect(array(
|
||||
'driver' => 'mysql',
|
||||
'host' => 'localhost',
|
||||
'username' => 'root',
|
||||
'password' => 'xxx', // change to real password!
|
||||
'database' => 'xxx',
|
||||
'password' => 'xxx',
|
||||
'database' => 'dibi',
|
||||
'charset' => 'utf8',
|
||||
));
|
||||
|
||||
|
||||
|
||||
$res = dibi::query('SELECT * FROM [nucleus_item] WHERE [inumber] = %i', 38);
|
||||
// generate user-level errors
|
||||
dibi::$throwExceptions = FALSE;
|
||||
echo '<h1>User-level errors</h1>';
|
||||
|
||||
|
||||
$res = dibi::query('SELECT * FROM [nucleus_item] WHERE [inumber] < %i', 38);
|
||||
$res = dibi::query('SELECT * FROM [mytable] WHERE [inumber] = %i', 38);
|
||||
|
||||
|
||||
$res = dibi::query('SELECT * FROM [*nucleus_item] WHERE [inumber] < %i', 38);
|
||||
$res = dibi::query('SELECT * FROM [mytable] WHERE [inumber] < %i', 38);
|
||||
|
||||
echo 'See file ', dibi::$logFile;
|
||||
|
||||
?>
|
||||
$res = dibi::query('SELECT FROM [mytable] WHERE [inumber] < %i', 38);
|
||||
|
||||
echo "<br />See file ", dibi::$logFile;
|
||||
|
||||
|
||||
|
||||
// generate DibiException
|
||||
dibi::$throwExceptions = TRUE;
|
||||
echo '<h1>DibiException</h1>';
|
||||
|
||||
try {
|
||||
|
||||
$res = dibi::query('SELECT FROM [mytable] WHERE [inumber] < %i', 38);
|
||||
|
||||
} catch (DibiException $e) {
|
||||
|
||||
echo '<pre>', $e, '</pre>';
|
||||
|
||||
echo '<h2>$e->getSql()</h2>';
|
||||
$sql = $e->getSql();
|
||||
echo "SQL: $sql\n";
|
||||
|
||||
echo '<h2>$e->getDbError()</h2>';
|
||||
$error = $e->getDbError();
|
||||
echo '<pre>';
|
||||
print_r($error);
|
||||
echo '</pre>';
|
||||
|
||||
}
|
@@ -4,18 +4,18 @@
|
||||
require_once '../dibi/dibi.php';
|
||||
|
||||
|
||||
// mysql
|
||||
// CHANGE TO REAL PARAMETERS!
|
||||
dibi::connect(array(
|
||||
'driver' => 'mysqli',
|
||||
'driver' => 'mysql',
|
||||
'host' => 'localhost',
|
||||
'username' => 'root',
|
||||
'password' => 'xxx', // change to real password!
|
||||
'database' => 'dgx',
|
||||
'password' => 'xxx',
|
||||
'database' => 'dibi',
|
||||
'charset' => 'utf8',
|
||||
));
|
||||
|
||||
|
||||
$res = dibi::query('SELECT * FROM [nucleus_item] WHERE [inumber] <> %i', 38);
|
||||
$res = dibi::query('SELECT * FROM [mytable] WHERE [inumber] <> %i', 38);
|
||||
if (!$res) die('SQL error');
|
||||
|
||||
|
||||
@@ -30,5 +30,3 @@ $res->setType(TRUE);
|
||||
$record = $res->fetch();
|
||||
var_dump($record);
|
||||
|
||||
|
||||
?>
|
||||
|
@@ -11,12 +11,13 @@ if (function_exists('date_default_timezone_set'))
|
||||
date_default_timezone_set('Europe/Prague'); // or 'GMT'
|
||||
|
||||
|
||||
// mysql
|
||||
// CHANGE TO REAL PARAMETERS!
|
||||
dibi::connect(array(
|
||||
'driver' => 'mysql',
|
||||
'host' => 'localhost',
|
||||
'username' => 'root',
|
||||
'password' => 'xxx', // change to real password!
|
||||
'password' => 'xxx',
|
||||
'database' => 'dibi',
|
||||
'charset' => 'utf8',
|
||||
));
|
||||
|
||||
@@ -59,16 +60,16 @@ LIMIT 10");
|
||||
|
||||
|
||||
// dibi detects INSERT or REPLACE command
|
||||
dibi::test("INSERT INTO [test]", $arr4);
|
||||
dibi::test("INSERT INTO [mytable]", $arr4);
|
||||
|
||||
|
||||
// dibi detects UPDATE command
|
||||
$n = 123;
|
||||
dibi::test("UPDATE [test] SET", $arr4, " WHERE [id]=%i", $n);
|
||||
dibi::test("UPDATE [mytable] SET", $arr4, " WHERE [id]=%i", $n);
|
||||
|
||||
|
||||
// array with modifier %a - assoc
|
||||
dibi::test("UPDATE [test] SET%a", $arr4, " WHERE [id]=%i", $n);
|
||||
dibi::test("UPDATE [mytable] SET%a", $arr4, " WHERE [id]=%i", $n);
|
||||
|
||||
|
||||
|
||||
|
@@ -7,12 +7,13 @@ pre.dibi { padding-bottom: 10px; }
|
||||
require_once '../dibi/dibi.php';
|
||||
|
||||
|
||||
// mysql
|
||||
// CHANGE TO REAL PARAMETERS!
|
||||
dibi::connect(array(
|
||||
'driver' => 'mysql',
|
||||
'host' => 'localhost',
|
||||
'username' => 'root',
|
||||
'password' => 'xxx', // change to real password!
|
||||
'password' => 'xxx',
|
||||
'database' => 'dibi',
|
||||
'charset' => 'utf8',
|
||||
));
|
||||
|
||||
@@ -26,7 +27,7 @@ $user = $cond1 ? 'Davidek' : NULL;
|
||||
|
||||
dibi::test('
|
||||
SELECT *
|
||||
FROM [table]
|
||||
FROM [mytable]
|
||||
%if', isset($user), 'WHERE [user]=%s', $user, '%end'
|
||||
);
|
||||
|
||||
@@ -41,11 +42,11 @@ FROM %if', $cond1, '[one_table] %else [second_table]'
|
||||
// nested condition
|
||||
dibi::test('
|
||||
SELECT *
|
||||
FROM [test]
|
||||
FROM [mytable]
|
||||
WHERE
|
||||
%if', isset($user), '[user]=%s', $user, '
|
||||
%if', $cond2, 'AND [admin]=1 %end
|
||||
%else LIMIT 10 %end'
|
||||
);
|
||||
|
||||
?>
|
||||
|
||||
|
@@ -3,12 +3,13 @@
|
||||
require_once '../dibi/dibi.php';
|
||||
|
||||
|
||||
// connects to mysqli
|
||||
// CHANGE TO REAL PARAMETERS!
|
||||
dibi::connect(array(
|
||||
'driver' => 'mysql',
|
||||
'host' => 'localhost',
|
||||
'username' => 'root',
|
||||
'password' => 'xxx', // change to real password!
|
||||
'password' => 'xxx',
|
||||
'database' => 'dibi',
|
||||
'charset' => 'utf8',
|
||||
));
|
||||
|
||||
@@ -29,4 +30,3 @@ dibi::addSubst('', 'my_');
|
||||
dibi::test("UPDATE [database.::table] SET [text]='Hello World'");
|
||||
|
||||
|
||||
?>
|
Reference in New Issue
Block a user