2014-11-24 81 views
-2

我试图下载一个csv文件从数据库获取内容,但我想从数据库中获取它的名称以及从一个表(文件名)与单个字段(名称)。

这里是我的代码:

// Connecting to Database 

$mysqli = new mysqli('servername.ipagemysql.com', 'username', 'pass', 'reportconverter'); 
$filename = array_values(mysqli_fetch_array($mysqli->query("SELECT name FROM filename")))[0]; 

//Downloading the file 

header('Content-type: application/csv'); 
header('Content-Disposition: attachment; filename='.$filename); 

echo $output; 

exit; 

我得到以下错误:

内部服务器错误 服务器遇到一个内部错误或配置错误,无法完成您的请求。

服务器名称,用户名,密码和数据库名称都是准确的,因为它们在其他页面上工作。该代码也适用于本地主机。但如果我把服务器登录细节放在本地主机文件中,我得到这个错误:

Warning: mysqli_connect(): (HY000/2002): No connection could be made because the target machine actively refused it. 

任何想法?或者我应该问我的托管服务人员寻求帮助?

+2

'但是,如果我把服务器的登录信息在本地主机文件,我得到这个错误'这意味着你的mysql主机权限不允许远程mysql连接。正确设置这些权限将解决 – 2014-11-24 09:59:30

+0

'500'错误意味着* webserver *没有权限执行任何操作,类似于'403'。 – cybermonkey 2014-11-24 10:01:54

+0

如果你的服务器拒绝连接,这意味着服务器上运行的mysql服务有问题,它不是你的错 – DLastCodeBender 2014-11-24 10:55:14

回答

1

最后我解决了这个问题。这是[0]造成问题,因为我的服务器上的PHP版本不支持这种说法,所以我不得不改变这样的:

$filename = array_values(mysqli_fetch_array($mysqli->query("SELECT name FROM filename"))); 
$filename = $filename[0]; 
+0

谢谢 - 为我节省了很多时间:) ... – 2015-07-23 15:12:33

相关问题