summaryrefslogtreecommitdiff
path: root/session
diff options
context:
space:
mode:
authorRyan Bonham <ryan@transparent-tech.com>2018-02-18 15:03:56 -0600
committerRyan Bonham <ryan@transparent-tech.com>2018-02-18 15:03:56 -0600
commit7492a78355e7edb6827f915aceb1de3801b4480e (patch)
tree6ea96c1dfe8bf7681df0a19bb8342e2ec3f41dee /session
parentd9e72c42289728fae75420a9344ec70f3019ec2a (diff)
downloadadodb-7492a78355e7edb6827f915aceb1de3801b4480e.tar.gz
adodb-7492a78355e7edb6827f915aceb1de3801b4480e.tar.bz2
adodb-7492a78355e7edb6827f915aceb1de3801b4480e.zip
Initial attempt at PDO support
Diffstat (limited to 'session')
-rw-r--r--session/adodb-session2.php46
1 files changed, 31 insertions, 15 deletions
diff --git a/session/adodb-session2.php b/session/adodb-session2.php
index 71a29b7a..82b728c0 100644
--- a/session/adodb-session2.php
+++ b/session/adodb-session2.php
@@ -564,29 +564,45 @@ class ADODB_Session {
# assert('$database');
# assert('$driver');
# assert('$host');
-
- $conn = ADONewConnection($driver);
-
- if ($debug) {
- $conn->debug = true;
- ADOConnection::outp( " driver=$driver user=$user db=$database ");
- }
-
- if (empty($conn->_connectionID)) { // not dsn
+ if (strpos($driver, 'pdo_') === 0){
+ $conn = ADONewConnection('pdo');
+ $driver = str_replace('pdo_', '', $driver)
+ $dsn=$driver+':'+'hostname='+$host+';database='+$database+';'
+ $db->connect($dsn,$user,$password);
if ($persist) {
switch($persist) {
default:
- case 'P': $ok = $conn->PConnect($host, $user, $password, $database); break;
- case 'C': $ok = $conn->Connect($host, $user, $password, $database); break;
- case 'N': $ok = $conn->NConnect($host, $user, $password, $database); break;
+ case 'P': $ok = $conn->PConnect($dsn,$user,$password); break;
+ case 'C': $ok = $conn->Connect($dsn,$user,$password); break;
+ case 'N': $ok = $conn->NConnect($dsn,$user,$password); break;
}
} else {
- $ok = $conn->Connect($host, $user, $password, $database);
+ $ok = $conn->Connect($dsn,$user,$password);
+ }
+ }else{
+ $conn = ADONewConnection($driver);
+ if ($debug) {
+ $conn->debug = true;
+ ADOConnection::outp( " driver=$driver user=$user db=$database ");
+ }
+
+ if (empty($conn->_connectionID)) { // not dsn
+ if ($persist) {
+ switch($persist) {
+ default:
+ case 'P': $ok = $conn->PConnect($host, $user, $password, $database); break;
+ case 'C': $ok = $conn->Connect($host, $user, $password, $database); break;
+ case 'N': $ok = $conn->NConnect($host, $user, $password, $database); break;
+ }
+ } else {
+ $ok = $conn->Connect($host, $user, $password, $database);
+ }
+ } else {
+ $ok = true; // $conn->_connectionID is set after call to ADONewConnection
}
- } else {
- $ok = true; // $conn->_connectionID is set after call to ADONewConnection
}
+
if ($ok) $GLOBALS['ADODB_SESS_CONN'] = $conn;
else
ADOConnection::outp('<p>Session: connection failed</p>', false);