ADOdb

Database Abstraction Layer for PHP

User Tools

Site Tools


v5:database:pdo

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
v5:database:pdo [2019/01/03 03:26] mnewnhamv5:database:pdo [2019/01/06 04:22] mnewnham
Line 6: Line 6:
 </WRAP> </WRAP>
 ===== Description ===== ===== Description =====
-This driver supports connections using the standardized [[http://php.net/manual/en/book.pdo.php|PHP Data Objects]] connection. The ''pdo'' driver itself cannot be used, it must be used with one of the supported databases: +This driver supports connections using the standardized [[http://php.net/manual/en/book.pdo.php|PHP Data Objects]] connection. The ''pdo'' driver itself cannot be used, it must be used with one of the supported drivers:
- +
-  * pdo_mssql (SQL Server with FREETDS) +
-  * pdo_mysql (MySQL) +
-  * pdo_oci (Oracle) +
-  * pdo_pgsql (Postgresql) +
-  * pdo_sqlite (SQLite) +
-  * pdo_sqlsrv (SQL Server with Windows)+
  
 +^PHP Driver^Description^ADOdb Connector^
 +|pdo_firebird|Firebird|firebird|
 +|pdo_mssql|SQL Server with FREETDS|mssql|
 +|pdo_mysql|MySQL|mysql|
 +|pdo_oci|Oracle|oci|
 +|pdo_pgsql|Postgresql|pgsql|
 +|pdo_sqlite|SQLite|sqlite|
 +|pdo_sqlsrv|SQL Server using Windows Native Client|sqlsrv|
 + 
 ===== Establishing A Connection ===== ===== Establishing A Connection =====
 To establish a connection, the **//DSN//** style of connection must be used, the first argument of the DSN string being the database type, e.g. to connect to a MySQL database: To establish a connection, the **//DSN//** style of connection must be used, the first argument of the DSN string being the database type, e.g. to connect to a MySQL database:
Line 66: Line 68:
 ^ADOdb V6|Yes| ^ADOdb V6|Yes|
 </WRAP> </WRAP>
 +
   * Some **//Meta//** functions are unavailable   * Some **//Meta//** functions are unavailable
  
-==== Sample Connection String ====+ 
 +------------------------------------------------------- 
 +=== Sample Connection String ===
 <code php> <code php>
 include 'adodb-dir/adodb.inc.php'; include 'adodb-dir/adodb.inc.php';
-$db = ADOnewConnection('pdo');+$db   = ADOnewConnection('pdo'); 
 + 
 +$dsn  = 'mysql:hostname=127.0.0.1;database=employees;'
 $user = 'user'; $user = 'user';
 $password = 'password' $password = 'password'
-$db->connect('mysql:hostname=127.0.0.1;database=employees;',$user,$password);+ 
 +$db->connect($dsn,$user,$password);
 </code> </code>
 ---------------------------------------------- ----------------------------------------------
Line 105: Line 113:
 ^ADOdb V6|Yes| ^ADOdb V6|Yes|
 </WRAP> </WRAP>
-===== Status =====+=== Status ===
 Some features are not supported Some features are not supported
-===== Sample Connection String =====+--------------------------------------------------------------- 
 +=== Sample Connection String ===
 <code php> <code php>
 $db = newAdoConnection('pdo'); $db = newAdoConnection('pdo');
-$dsnString= 'host=192.168.0.212;dbname=dvdrental';+ 
 +$dsn  = 'pgsql:host=192.168.0.212;dbname=dvdrental';
 $user = 'someuser'; $user = 'someuser';
-$password = 'somepass'; +$pass = 'somepass'; 
-$db->connect('pgsql:'$dsnString,$someuser,$somepass);+ 
 +$db->connect($dsn,$user,$pass);
 </code> </code>
  
Line 130: Line 141:
 ^ADOdb V6|Yes| ^ADOdb V6|Yes|
 </WRAP> </WRAP>
- +---------------------------------------------------------------- 
-==== Sample Connection String ====+=== Sample Connection String ===
 <code php> <code php>
 include 'adodb-dir/adodb.inc.php'; include 'adodb-dir/adodb.inc.php';
 $db = ADOnewConnection('pdo'); $db = ADOnewConnection('pdo');
-$db->connect('sqlite:/home/sqlite/adodb-sqlite.db','root');+ 
 +$dsn  = 'sqlite:/home/sqlite/adodb-sqlite.db'
 +$user = 'root'
 + 
 +$db->connect($dsn,$user);
 </code> </code>
----------------------------------------+ 
 +------------------------------------------------- 
 ==== pdo_sqlsrv ==== ==== pdo_sqlsrv ====
 <WRAP right box round 300px> <WRAP right box round 300px>
Line 161: Line 178:
 ---------------------------------------------------------------------------- ----------------------------------------------------------------------------
  
-==== Sample Connection String ====+=== Sample Connection String ===
 <code php> <code php>
 include 'adodb-dir/adodb.inc.php'; include 'adodb-dir/adodb.inc.php';
 $db = ADOnewConnection('pdo'); $db = ADOnewConnection('pdo');
 +
 $user = 'user'; $user = 'user';
-$password = 'password' +$pass = 'password'; 
-$db->connect('sqlsrv:server=SERVER\SQLEXPRESS;database=NORTHWND;',$user,$password);+$dsn  ='sqlsrv:server=SERVER\SQLEXPRESS;database=NORTHWND;'
 + 
 +$db->connect($dsn,$user,$password);
 </code> </code>
  
 +-----------------------------------------------------------------------------
  
 +==== pdo_firebird ====
 +<WRAP info>
 +This driver is available from version 5.21
 +</WRAP>
 +<WRAP right box round 300px>
 +== Native Driver ==
 +[[v5:database:firebird|Firebird/Interbase Driver]]\\
 +== Specification ==
 +^Driver Name|pdo|
 +^Data Provider|pdo|
 +^Status|Active((This driver is supported by ADOdb project members))|
 +^Windows|Yes|
 +^Unix|Yes|
 +^ADOdb V5|Yes|
 +^ADOdb V6|Yes|
 +</WRAP>
 +Unlike other pdo drivers, pdo_firebird is the preferred driver for this database. This is due to specific issues with this driver reported [[https://bugs.php.net/bug.php?id=72175|here]]. 
  
 +------------------------------------------------------------
 +=== Sample Connection String ===
 +
 +<code php>
 +include 'adodb-dir/adodb.inc.php';
 +$db = ADOnewConnection('pdo');
 +
 +$dsn  = 'firebird:dbname=employee.fdb;hostname=localhost';
 +$user = 'SYSDBA';
 +$pass = 'master-key';
 +
 +$db->connect($dsn,$user,$pass);
 +
 +</code>
v5/database/pdo.txt · Last modified: 2022/02/20 23:47 by mnewnham