connecting-to-databases.php 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139
  1. <?php
  2. declare(strict_types=1);
  3. ?>
  4. <!DOCTYPE html><link rel="stylesheet" href="data/style.css">
  5. <h1>Connecting to Databases | Dibi</h1>
  6. <?php
  7. if (@!include __DIR__ . '/../vendor/autoload.php') {
  8. die('Install packages using `composer install`');
  9. }
  10. // connects to SQlite using Dibi class
  11. echo '<p>Connecting to Sqlite: ';
  12. try {
  13. dibi::connect([
  14. 'driver' => 'sqlite',
  15. 'database' => 'data/sample.s3db',
  16. ]);
  17. echo 'OK';
  18. } catch (Dibi\Exception $e) {
  19. echo get_class($e), ': ', $e->getMessage(), "\n";
  20. }
  21. echo "</p>\n";
  22. // connects to SQlite using Dibi\Connection object
  23. echo '<p>Connecting to Sqlite: ';
  24. try {
  25. $connection = new Dibi\Connection([
  26. 'driver' => 'sqlite',
  27. 'database' => 'data/sample.s3db',
  28. ]);
  29. echo 'OK';
  30. } catch (Dibi\Exception $e) {
  31. echo get_class($e), ': ', $e->getMessage(), "\n";
  32. }
  33. echo "</p>\n";
  34. // connects to MySQLi
  35. echo '<p>Connecting to MySQLi: ';
  36. try {
  37. dibi::connect([
  38. 'driver' => 'mysqli',
  39. 'host' => 'localhost',
  40. 'username' => 'root',
  41. 'password' => 'xxx',
  42. 'database' => 'dibi',
  43. 'options' => [
  44. MYSQLI_OPT_CONNECT_TIMEOUT => 30,
  45. ],
  46. 'flags' => MYSQLI_CLIENT_COMPRESS,
  47. ]);
  48. echo 'OK';
  49. } catch (Dibi\Exception $e) {
  50. echo get_class($e), ': ', $e->getMessage(), "\n";
  51. }
  52. echo "</p>\n";
  53. // connects to ODBC
  54. echo '<p>Connecting to ODBC: ';
  55. try {
  56. dibi::connect([
  57. 'driver' => 'odbc',
  58. 'username' => 'root',
  59. 'password' => '***',
  60. 'dsn' => 'Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=' . __DIR__ . '/data/sample.mdb',
  61. ]);
  62. echo 'OK';
  63. } catch (Dibi\Exception $e) {
  64. echo get_class($e), ': ', $e->getMessage(), "\n";
  65. }
  66. echo "</p>\n";
  67. // connects to PostgreSql
  68. echo '<p>Connecting to PostgreSql: ';
  69. try {
  70. dibi::connect([
  71. 'driver' => 'postgre',
  72. 'string' => 'host=localhost port=5432 dbname=mary',
  73. 'persistent' => true,
  74. ]);
  75. echo 'OK';
  76. } catch (Dibi\Exception $e) {
  77. echo get_class($e), ': ', $e->getMessage(), "\n";
  78. }
  79. echo "</p>\n";
  80. // connects to PDO
  81. echo '<p>Connecting to Sqlite via PDO: ';
  82. try {
  83. dibi::connect([
  84. 'driver' => 'pdo',
  85. 'dsn' => 'sqlite::memory:',
  86. ]);
  87. echo 'OK';
  88. } catch (Dibi\Exception $e) {
  89. echo get_class($e), ': ', $e->getMessage(), "\n";
  90. }
  91. echo "</p>\n";
  92. // connects to SQLSRV
  93. echo '<p>Connecting to Microsoft SQL Server: ';
  94. try {
  95. dibi::connect([
  96. 'driver' => 'sqlsrv',
  97. 'host' => '(local)',
  98. 'username' => 'Administrator',
  99. 'password' => 'xxx',
  100. 'database' => 'main',
  101. ]);
  102. echo 'OK';
  103. } catch (Dibi\Exception $e) {
  104. echo get_class($e), ': ', $e->getMessage(), "\n";
  105. }
  106. echo "</p>\n";
  107. // connects to Oracle
  108. echo '<p>Connecting to Oracle: ';
  109. try {
  110. dibi::connect([
  111. 'driver' => 'oracle',
  112. 'username' => 'root',
  113. 'password' => 'xxx',
  114. 'database' => 'db',
  115. ]);
  116. echo 'OK';
  117. } catch (Dibi\Exception $e) {
  118. echo get_class($e), ': ', $e->getMessage(), "\n";
  119. }
  120. echo "</p>\n";