Skip to content

Commit 4ffeae6

Browse files
authored
Merge pull request #216 from jonkerw85/odbc-php84
PHP 8.4 support by adding `Odbc\Connection` handling
2 parents 3801b96 + be0e5b1 commit 4ffeae6

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

ToolkitApi/Toolkit.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ protected function isDebug()
137137
/**
138138
* if passing an existing resource and naming, don't need the other params.
139139
*
140-
* @param string|resource|PDO $databaseNameOrResource
140+
* @param string|resource|PDO|Odbc\Connection $databaseNameOrResource
141141
* @param string $userOrI5NamingFlag 0 = DB2_I5_NAMING_OFF or 1 = DB2_I5_NAMING_ON
142142
* @param string $password
143143
* @param string $transportType (http, ibm_db2, odbc, ssh, local)
@@ -158,7 +158,7 @@ public function __construct($databaseNameOrResource, $userOrI5NamingFlag = '0',
158158
}
159159

160160
// stop any types that are not valid for first parameter. Invalid values may cause toolkit to try to create another database connection.
161-
if (!is_string($databaseNameOrResource) && !is_resource($databaseNameOrResource) && ((!is_object($databaseNameOrResource) || (is_object($databaseNameOrResource) && get_class($databaseNameOrResource) !== PDO::class)))) {
161+
if (!is_string($databaseNameOrResource) && !is_resource($databaseNameOrResource) && ((!is_object($databaseNameOrResource) || (is_object($databaseNameOrResource) && !in_array(get_class($databaseNameOrResource), [PDO::class, \Odbc\Connection::class], true))))) {
162162

163163
// initialize generic message
164164
$this->error = "\nFailed to connect. databaseNameOrResource " . var_export($databaseNameOrResource, true) . " not valid.";
@@ -224,7 +224,7 @@ public function __construct($databaseNameOrResource, $userOrI5NamingFlag = '0',
224224
if ($this->isDebug()) {
225225
$this->debugLog("Re-using existing db connection with schema separator: $schemaSep");
226226
}
227-
} elseif ($transportType === 'odbc' && $isResource) {
227+
} elseif ($transportType === 'odbc' && ($isResource || $databaseNameOrResource instanceof \Odbc\Connection)) {
228228
$conn = $databaseNameOrResource;
229229
$this->_i5NamingFlag = $userOrI5NamingFlag;
230230
$schemaSep = ($this->_i5NamingFlag) ? '/' : '.';

0 commit comments

Comments
 (0)