diff options
| author | Ryan Bonham <ryan@transparent-tech.com> | 2018-02-18 15:03:56 -0600 |
|---|---|---|
| committer | Ryan Bonham <ryan@transparent-tech.com> | 2018-02-18 15:03:56 -0600 |
| commit | 7492a78355e7edb6827f915aceb1de3801b4480e (patch) | |
| tree | 6ea96c1dfe8bf7681df0a19bb8342e2ec3f41dee /session | |
| parent | d9e72c42289728fae75420a9344ec70f3019ec2a (diff) | |
| download | adodb-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.php | 46 |
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); |
