Php 上载Firebird数据库文件时出错
我使用共享主机,第一次尝试从Firebird文件读取数据。我有一个界面,允许用户通过以下方式选择其Php 上载Firebird数据库文件时出错,php,firebird,Php,Firebird,我使用共享主机,第一次尝试从Firebird文件读取数据。我有一个界面,允许用户通过以下方式选择其.fdb文件: HTML 更新我想要实现的目标: 我希望允许我的用户指定位于其本地计算机中的.fdb路径,该路径将在我的网站中捕获 用户只需单击一个按钮即可将数据从.fdb文件“传输”(上载)到我的网站 因此,这里我得到了如上所示的错误。介意我问一下,还有什么其他方法可以达到和我相同的目标?我是否应该请求用户以text/XML/excel(csv)格式执行所谓的数据转储/数据导入/数据上传 您正在将
.fdb
文件:
HTML
更新我想要实现的目标:
您正在将数据库文件从客户端上载到服务器以连接到它?至少可以说,这样做很奇怪。通常,您会将数据库托管在服务器上,并连接到它(可能是在允许客户端指定要使用的数据库之后) 在这种情况下,出现此错误的原因可能是您的主机上没有安装Firebird服务器,或者它运行在与默认端口3050不同的端口上(如错误中无法完成对主机“localhost”的网络请求所示)。根据我的经验,与Firebird共享主机是很少见的,所以你可能想和你的主机公司核实一下他们是否真的提供Firebird,如果是的话,使用什么端口 由于以下原因,这也将(可能)无法正常工作:
- 当客户端使用Windows,服务器使用Linux时,Firebird服务器将无法打开数据库
- 正确配置的服务器上的Firebird服务器进程不应能够从Web服务器进程访问文件
请注意主持人的名言Hi Mark,感谢您宝贵的时间和反馈。我已经更新了我的问题,请不要介意再次建议我。@4LeaveCover我的答案保持不变:您似乎没有运行Firebird服务器(或在不同的端口上),即使您解决了这个问题,您也可能会遇到不同的问题。唯一真正的方法是备份数据库并将其恢复到服务器上,或者使用excelsheets、csv等上传数据。我想要的是来自用户的数据,但用户可能使用MySQL、MSSQL、Firebird、MS Access等。因此,与其要求他们上传DB文件,我应该说服他们执行数据提取并上传/转储到我的系统?@4LeaveCover鉴于正确上传SQL Server或MySQL数据库会更加困难,我认为这样会更好,是的。我认为这只是PHP为您逃避错误消息,因为给定了
$host
变量的填充方式,它将只包含文件的路径。
<label class="title">Import by FBD File</label>
<input type="file" class="input-file input-importFDB" name="filefdb" id="filefdb" >
<input class='btn btn-primary' type='submit' id='btnImportFDB' name='btnImportFDB' value='Import'>
if (isset($_POST['btnImportFDB'])){
$host = $_FILES["filefdb"]["tmp_name"];
$username = 'SYSDBA';
$password = 'masterkey';
$dbh = ibase_connect($host, $username, $password);
$stmt = 'SELECT * FROM customer;';
$sth = ibase_query($dbh, $stmt);
while ($row = ibase_fetch_object($sth)) {
echo $row->CUST_NO.'<br/>';
}
ibase_free_result($sth);
ibase_close($dbh);
}
[21-Sep-2017 19:36:06 Asia/Singapore] PHP Warning: ibase_connect(): Unable to complete network request to host "localhost". Failed to establish a connection. in /home/mywebproject/demo.mywebsite.com.my/validate/myfile.php on line 56
[21-Sep-2017 19:36:06 Asia/Singapore] PHP Warning: ibase_query(): invalid database handle (no active connection) in /home/mywebproject/demo.mywebsite.com.my/validate/myfile.php on line 58
[21-Sep-2017 19:36:06 Asia/Singapore] PHP Warning: ibase_fetch_object() expects parameter 1 to be resource, boolean given in /home/mywebproject/demo.mywebsite.com.my/validate/myfile.php on line 59
[21-Sep-2017 19:36:06 Asia/Singapore] PHP Warning: ibase_free_result() expects parameter 1 to be resource, boolean given in /home/mywebproject/demo.mywebsite.com.my/validate/myfile.php on line 62
[21-Sep-2017 19:36:06 Asia/Singapore] PHP Warning: ibase_close() expects parameter 1 to be resource, boolean given in /home/mywebproject/demo.mywebsite.com.my/validate/myfile.php on line 63
Error: Unable to complete network request to host "localhost"