我想从数据库中获取一些数据,这些数据可以以文本格式下载。
为此我正在使用
<?php
$filename="abc.txt";
header("Content-Disposition: attachment; filename=\"$filename\"");
header("Content-Type: text/csv");
echo "PHP is awesome";
?>
上面的代码提供了下载文件的选项。
但是当我尝试在代码中添加数据库连接时,我没有获得下载选项。所以我需要帮助来解决上述问题。
我的错误代码:
<?php
$filename="abc.txt";
header("Content-Disposition: attachment; filename=\"$filename\"");
header("Content-Type: text/csv");
$name="JONE":
$db_host =hostname;
$db_user =username;
$db_pass =password;
echo "$name";
mysql_connect( $db_host, $db_user, $db_pass );
$sql_query="select * from order";
echo "$sql_query";
$result = mysql_query($sql_query) or die('MySql Error' . mysql_error());
while ( $array = mysql_fetch_array($result) )
{
echo "$array[0]\n";
}
?>
答案 0 :(得分:0)
使用哪个PHP版本?
稍后在php 5中弃用了mysql扩展
PHP 5及更高版本可以使用:
使用MySQL数据库MySQLi扩展(“i”代表改进)
PDO(PHP数据对象)
早期版本的PHP使用MySQL扩展。但是,此扩展程序在2012年已弃用。
如果你使用php新版本和mysql
您可以尝试使用代码
<?php
$filename="abc.txt";
header("Content-Disposition: attachment; filename=\"$filename\"");
header("Content-Type: text/csv");
$name="JONE";
$DBServer = 'localhost'; // e.g 'localhost' or '192.168.1.100'
$DBUser = 'root';
$DBPass = 'root';
$DBName = 'sms';
echo "$name";
$conn = new mysqli($DBServer, $DBUser, $DBPass, $DBName);
// check connection
if ($conn->connect_error) {
trigger_error('Database connection failed: ' . $conn->connect_error,
E_USER_ERROR);
}
$sql_query="select * from tmd_news";
$rs=$conn->query($sql_query);
if($rs === false) {
trigger_error('Wrong SQL: ' . $sql_query . ' Error: ' . $conn->error,
E_USER_ERROR);
} else {
$arr = $rs->fetch_all(MYSQLI_ASSOC);
}
foreach($arr as $row) {
echo $row['news_id'];
}
?>