PHPを使用する際に連想配列からCSVファイルを作成することに問題があります。私の連想配列はsqlsrv_fetch_array関数の結果です。連想配列のPHP CSV
私はコードを実行すると:
while($row = sqlsrv_fetch_array($stmt, SQLSRV_FETCH_ASSOC)) {
echo '<pre>';
print_r($row);
echo '</pre>';
}
を私は見ることができます:
Array
(
[Username] => User1
[Password] => Password1
[DisplayName] => UserOne
[FirstName] => User
[LastName] => One
[Role] => Bacon
[HomeEmailAddress] => [email protected]
)
Array
(
[Username] => User2
[Password] => Password2
[DisplayName] => UserTwo
[FirstName] => User
[LastName] => Two
[Role] => Egg
[HomeEmailAddress] => [email protected]
)
Array
(
[Username] => User3
[Password] => Pasword3
[DisplayName] => UserThree
[FirstName] => User
[LastName] => Three
[Role] => Sausage
[HomeEmailAddress] => [email protected]
)
すべての格好良いです。しかし、私が抱えている問題は、そのことをCSVファイルに取り込むことです。私は、whileループ内のループ($キー=> $値として$行)のforeachを使用して、fputcsv作業を取得しようとしている私の頭を叩いてきたファイルが
Username,Password,DisplayName,FirstName,LastName,Role,HomeEmailAddress
User1,Password1,UserOne,User,One,Bacon,[email protected]
User2,Password2,UserTwo,User,Two,Egg,[email protected]
User3,Password3,UserThree,User,Three,Sauage,[email protected]
に見えるようにしたいですしかし、私はどこにも早く行きません。これは無駄なクエストですか? _sql_fetch_array_を使用して作成された配列でこれを実行できますか?
私はどこループ内のコードを配置した場合:
$fp = fopen('file.csv', 'w');
foreach ($row as $key => $value) {
fputcsv($fp, $row);
}
fclose($fp);
私は出力とcsvファイルを取得:
User3,Password3,UserThree,User,Three,Sauage,[email protected]
User3,Password3,UserThree,User,Three,Sauage,[email protected]
User3,Password3,UserThree,User,Three,Sauage,[email protected]
User3,Password3,UserThree,User,Three,Sauage,[email protected]
User3,Password3,UserThree,User,Three,Sauage,[email protected]
User3,Password3,UserThree,User,Three,Sauage,[email protected]
User3,Password3,UserThree,User,Three,Sauage,[email protected]
任意のヒントや提案をいただければ幸いです。
セパレータとは何か、2つから始まる不確定な空白の数、データにスペースが含まれている場合はどうなりますか?これはCSVであると確信していますか?いくつかの固定幅のファイルフォーマットではないでしょうか?さらに、データベースコードが 'fputcsv()'の使用よりも重要であると思うのは不思議です。 –
悪い形成されたキューかもしれません私の頭の中の何かを理解していないからです。私はこのことでかなり経験がありません。 –
あなたは正しいCSVを取得しています。必要なファイル形式はCSVのようには見えません。正確なスペックはあなたに与えられていますか? –