2017-09-13 106 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