如何在CSV导出之前将我的数据库ID号转换为文本


How to convert my database ID number to text before CSV export?

我希望这是一个简单的过程。如何在将mysql数据库中的ID号导出到csv文件之前将其转换为文本?

这是我导出数据的代码:

$con = mysqli_connect('localhost', 'user', 'password', 'database');
if (mysqli_connect_errno()) {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment;filename=csv_file.csv');
$output = fopen('php://output', 'w');
$query = 'SELECT * FROM table';
$result = mysqli_query($con, $query);
while ($field = mysqli_fetch_assoc($result)){
    fputcsv($output, $field);
}

我可以将数据库中的数据导出到csv中,但有没有办法将ID号转换为文本,这样excel就不会去掉前导零?

谢谢!

CSV不包含字段类型信息,因此在Excel中导入时需要格式化和定义数据类型,而不是在导出过程中。

为什么不用引号括起来呢?

假设您的ID位于索引0:

while ($field = mysqli_fetch_assoc($result)){
    $field[0] = '"' . field[0] . '"';
    fputcsv($output, $field);
}