Skip to content

Commit 49e7a40

Browse files
committed
Added port to database connections
1 parent fbc2d3b commit 49e7a40

2 files changed

Lines changed: 8 additions & 9 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# PHP Database Web API
22
![](cover.png)
33

4-
**Version:** 0.6.127 beta
4+
**Version:** 0.6.128 beta
55

66
**Github:** https://github.com/marcocesarato/Database-Web-API
77

includes/classes/API.php

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -291,7 +291,6 @@ public function setDatabase($db = null) {
291291
* Establish a database connection
292292
* @param string $db the database slug
293293
* @return object the PDO object
294-
* @todo support port #s and test on each database
295294
*/
296295
public function &connect($db = null) {
297296

@@ -308,24 +307,24 @@ public function &connect($db = null) {
308307

309308
try {
310309
if($db->type == 'mysql') {
311-
$dbh = new PDO("mysql:host={$db->server};dbname={$db->name}", $db->username, $db->password);
310+
$dbh = new PDO("mysql:host={$db->server};port={$db->port};dbname={$db->name}", $db->username, $db->password);
312311
} elseif($db->type == 'pgsql') {
313-
$dbh = new PDO("pgsql:host={$db->server};dbname={$db->name}", $db->username, $db->password);
312+
$dbh = new PDO("pgsql:host={$db->server};port={$db->port};dbname={$db->name}", $db->username, $db->password);
314313
} elseif($db->type == 'mssql') {
315-
$dbh = new PDO("sqlsrv:Server={$db->server};Database={$db->name}", $db->username, $db->password);
314+
$dbh = new PDO("sqlsrv:Server={$db->server},{$db->port};Database={$db->name}", $db->username, $db->password);
316315
} elseif($db->type == 'sqlite') {
317316
$dbh = new PDO("sqlite:/{$db->name}");
318317
} elseif($db->type == 'oracle') {
319318
$dbh = new PDO("oci:dbname={$db->name}");
320319
} elseif($db->type == 'ibm') {
321320
// May require a specified port number as per http://php.net/manual/en/ref.pdo-ibm.connection.php.
322-
$dbh = new PDO("ibm:DRIVER={IBM DB2 ODBC DRIVER};DATABASE={$db->name};HOSTNAME={$db->server};PROTOCOL=TCPIP;", $db->username, $db->password);
321+
$dbh = new PDO("ibm:DRIVER={IBM DB2 ODBC DRIVER};DATABASE={$db->name};PORT={$db->port};HOSTNAME={$db->server};PROTOCOL=TCPIP;", $db->username, $db->password);
323322
} elseif(($db->type == 'firebird') || ($db->type == 'interbase')) {
324-
$dbh = new PDO("firebird:dbname={$db->name};host={$db->server}");
323+
$dbh = new PDO("firebird:dbname={$db->name};host={$db->server};port={$db->port};");
325324
} elseif($db->type == '4D') {
326-
$dbh = new PDO("4D:host={$db->server}", $db->username, $db->password);
325+
$dbh = new PDO("4D:host={$db->server};port={$db->port};dbname={$db->name}", $db->username, $db->password);
327326
} elseif($db->type == 'informix') {
328-
$dbh = new PDO("informix:host={$db->server}; database={$db->name}; server={$db->server}", $db->username, $db->password);
327+
$dbh = new PDO("informix:host={$db->server};port={$db->port};database={$db->name};server={$db->server}", $db->username, $db->password);
329328
} else {
330329
Response::error('Unknown database type.');
331330
}

0 commit comments

Comments
 (0)