我正在尝试连接到数据库并获取表的当前状态并将该信息更新为csv文件,使用下面提到的一段代码,能够将数据信息获取到csv文件但是无法从数据库表中获取头信息进入csv文件.
$config['database'] = 'sakila';
$config['host'] = 'localhost';
$config['username'] = 'root';
$config['password'] = '';
$d = new PDO('MysqL:dbname='.$config['database'].';host='.$config['host'], $config['username'], $config['password']);
$query = "SELECT * FROM actor";
$stmt = $d->prepare($query);
// Execute the statement
$stmt->execute();
var_dump($stmt->fetch(PDO::FETCH_ASSOC));
$data = fopen('file.csv', 'w');
while ($row = $stmt->fetch(PDO::FETCH_ASSOC))
{
echo "Hi";
// Export every row to a file
fputcsv($data, $row);
}
标题信息含义:
Vehicle Build Model
car 2009 Toyota
jeep 2007 Mahindra
因此,此标题信息将是Vehicle Build Model
任何指导都将受到高度赞赏.
解决方法:
只需从数组$row:array_keys()获取密钥.现在您拥有所有的列名,您可以将它们放在csv文件中.
=======编辑=======
<?PHP
$header = array();
while ($row = $stmt->fetch(PDO::FETCH_ASSOC))
{
if(empty($header)){ // do it only once!
$header = array_keys($row); // get the columnnames
fputcsv($data, $header); // put them in csv
}
echo "Hi";
// Export every row to a file
fputcsv($data, $row);
}
?>