gpt4 book ai didi

php - CSV 输出重复

转载 作者:行者123 更新时间:2023-11-29 23:25:38 24 4
gpt4 key购买 nike

我试图以 csv 格式输出数据库选定的行,但它输出重复的值而不是单个值。我希望它有列,并在列下方显示值。输出:onlineId,paramId,paramValue 4cd87b00dddca780fcaf66d0108b25f6,4cd87b00dddca780fcaf66d0108b25f6,1,1,11,11

代码如下:

$output = fopen('php://output', 'w');
fputcsv($output, array('onlineId', 'paramId', 'paramValue'));

$host = "localhost";
$database = "keytarget";
$username = "root";
$password = "";
$con = new PDO("mysql:host=" . $host . ";dbname=" . $database, $username, $password);

//Run our query
$sql = "
SELECT
ui.onlineId, uin.paramId, uin.paramValue
FROM
v5_userinfo ui
JOIN
v5_userinfo_number uin
ON
uin.userId = ui.id
;
";

$statement = $con->prepare($sql);
$statement->execute();
while ($row = $statement->fetch()) {
fputcsv($output, $row);
}

最佳答案

这是因为当您检索数据时,它会为您提供关联数组和普通数组之间的混合 More info 。所以你的 $row var 是这样的:

array(
[0]=>4cd87b00dddca780fcaf66d0108b25f6
[onlineId]=>4cd87b00dddca780fcaf66d0108b25f6
[1]=>1
[paramId]=>1
[2]=>11
[paramValue]=>11
)

所以你的解决方案可能是:

while ($row = $statement->fetch()) {
$array=array($row[0],$row[1],$row[2]);
fputcsv($output, $array);
}

或者更简单的一个:

while ($row = $statement->fetch(PDO::FETCH_ASSOC)) {
fputcsv($output, $row);
}

关于php - CSV 输出重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26995484/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com