500内部服务器错误,但在localhost上工作正常 - $ mysqli = new mysqli

时间:2014-11-24 09:57:34

标签: php mysqli internal-server-error

我正在尝试下载从数据库获取内容的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;

我收到以下错误:

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

服务器名称,用户名,密码和数据库名称都是准确的,因为它们正在处理其他页面。该代码也适用于本地主机。但是,如果我将服务器登录详细信息放在localhost文件中,我会收到此错误:

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

有什么想法吗?或者我可以向我的托管服务寻求帮助吗?

1 个答案:

答案 0 :(得分:1)

最后我解决了这个问题。导致问题的是[0],因为我的服务器上的php版本不支持该语句,所以我不得不改变它:

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