2016-06-29 5 views
0

SQLite 데이터베이스에 연결 중입니다. 내가 탭을 추가 할 라인이 PHP에 file_put_contents를 사용하여 행 배열에서 휴식, 이제file_put_contents를 사용하여 배열에서 탭 및 줄 바꿈을 추가하는 방법

$db = new SQLite3('sshTunnel.sqlite'); 
$results = $db->query('SELECT * FROM TUNNEL'); 

: 결과는 하나의 포맷되지 않은 표시됩니다

while ($row = $results->fetchArray(SQLITE3_ASSOC)) 
{ 
    file_put_contents($file, $row, FILE_APPEND).PHP_EOL; 
} 

나는 결과를 얻기 위해 다음과 같은 쿼리를 사용하여 라인 :

Test Test Test 
Test Test Test 
:

TestTestTest Test Test Test 

내가이 구조를 원하는

어디서 실수입니까?

+0

데이터를 가져올 때 어떻게 보이는지 자세히 설명해주십시오. –

+0

추가됨. 상기 참조하십시오. – gpuk360

답변

1

문제가 해결되었습니다. trim()가 그것을 만들었습니다.

while ($row = $results->fetchArray(SQLITE3_ASSOC)) 
{ 
    foreach ($row as $value) 
    { 
     file_put_contents($file, trim($value) . ", ", FILE_APPEND | LOCK_EX); 
    } 
    file_put_contents($file, "\n", FILE_APPEND | LOCK_EX); 
} 
+1

은 아마 데이터베이스에 여분의 값을 가지고 있으므로,'trim()'이 필요하지만, 나는 그것을 한 줄에 어떻게 넣는지를 좋아한다. 신 일하는 사람! – bluepinto

+0

또한, 트림으로 설정된 레코드에 대한 업데이트 쿼리를 실행합니다. 그렇지 않으면 값을 표시하고 표시 할 때 서식 오류가 발생할 수 있습니다. 머피의 법칙을 절대로 잊지 마십시오. – bluepinto

+0

감사합니다. :-) – gpuk360

1
while ($row = mysqli_fetch_row($results)) 
{ 
    foreach($row as $value) 
    { 
    $value .= '|';//use what ever char you what to append 
    file_put_contents($file, $value, FILE_APPEND | LOCK_EX); 
    } 
    file_put_contents($file, '\n', FILE_APPEND | LOCK_EX); 
} 
+0

거의. 한 줄에 몇 가지 오류가 있습니다. 결과 : 테스트, 테스트, 테스트, \ n 테스트, 테스트, 테스트 ... – gpuk360

+0

업데이트 : 줄 바꿈이 '\ n'대신 "\ n"으로 작동합니다. 모든 행 반복마다 (왜 그런지 모르겠다) 4 개의 탭이 추가되었습니다. 따라서 2 개의 행이있는 경우 8 개의 탭이 있습니다. 3 개의 행에 대해 12 개의 탭이 있습니다. WTF? :-) – gpuk360