2017-09-13 127 views
0

我有Firebird服務器和Firebird數據庫安裝在Windows服務器上。在這個數據庫端口是8095.在這個服務器上我已經安裝了PHP,我需要連接上這個數據庫,使用PHP,這裏是我的代碼,我試過,但沒有成功:連接火鳥本地數據庫與PHP

<?php 

$host = 'localhost:D:\path\to\Database.FDB'; 
$username = 'user'; 
$password = 'pass'; 
$dbh = ibase_connect($host, $username, $password); 
$stmt = 'SELECT * FROM StoreCards'; 
$sth = ibase_query($dbh, $stmt); 
while ($row = ibase_fetch_object($sth)) { 
    echo $row->Code, "\n"; 
} 
ibase_free_result($sth); 
ibase_close($dbh); 

?> 

你能幫助我嗎?

非常感謝

編輯:

與此代碼的工作:

$dbh = ibase_pconnect("ipaddr:path-to-db.FDB", "user", "pass") or die('die message'); 
    $q = ibase_query($dbh, "select * from StoreCards"); 
    while ($r = ibase_fetch_object($q)) { 
     $some_value = $r->CODE; 
     echo $some_value; 
    } 

回答

1

只要你說的火鳥非標準8095端口上運行(通常是3050),你應該在ibase_connect中指定它。像ibase_(p)connect('host/port:path_or_alias', ...東西還檢查該端口是否是可訪問的,沒有塊防火牆規則等。

所以:

$host = 'localhost/8095:D:\path\to\Database.FDB'; 
+0

此外,考慮到使用PDO庫,它支持命名參數,使用更方便。 – Marcodor