테스트 사이트 - 개발 중인 베타 버전입니다

파일에서 한줄씩 읽어서 table에 넣는것 채택완료

희망대로 7년 전 조회 3,225

파일의 내용이 아래와 같이 엔터로 회원이름을 가진 파일이 있습니다.

[name.txt]

강남길

이지연

황신계

 

위의 name.txt 파일을 db의 테이블에 넣으려 합니다.

짜봤는데 자꾸 파일의 한줄만 넣고  그 다음줄은 insert를 못하네요^^

어떻게 짜야 하는지?^^

 

$host="localhost";  $user="test";  $pass="1234";   $db="testdb";

 

$conn = new mysqli($host,$user,$pass,$db);

$name=fopen("name.txt","r") or die("cannot open the file");

while(!feof($name)){
    $mb_name = fgets($name);
    $sql ="insert into g5_member set mb_name='$mb_name'";
    if($conn->query($sql)==TRUE) {
        echo "success to insert";
    }else{
        echo "Error : ".$sql."<br>".$conn->error;
    }
}

 

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
플래토
7년 전

음. 아무래도 제가 다시 이것저것 검색해보았지만.

제 답변이 부정확한것 같네요

 

http://makand.tistory.com/entry/PHP-file-%EC%B2%98%EB%A6%AC-%ED%95%A8%EC%88%98

이분걸 보면

 

정상적으로 읽으면서 echo를 잘 사용하시네요

 

 

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

희망대로
7년 전
감사합니다

댓글을 작성하려면 로그인이 필요합니다.

플래토
7년 전
<a href="http://winplz.tistory.com/entry/PHP파일-읽기" target="_blank" rel="noopener noreferrer">http://winplz.tistory.com/entry/PHP파일-읽기</a><br />
<br />
여기에서 4번 항목을 잘 살펴보시면<br />
차이점이<br />
파일을 읽을때 echo를 출력하셨다는거죠<br />
<br />
파일은 스트림에 해당되서<br />
처리중 스트림의 방향을 전환하면 중단 됩니다<br />
<br />
다시말해<br />
echo를 변수로 담으시고 오류시에만찍으시고<br />
성공은 완료후에 출력해보세요<br />
<br />
로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

희망대로
7년 전
감사합니다.

그런데 혹시 echo를 출력하면 중단된다는 내용을 제가 못봤는데요 혹시 그런 내용이 어디서 볼수 있지요?
제가 그런 내용을 못본거 같아서요
플래토
7년 전
@희망대로

위 링크에 중단된다는 내용이 있다고 말씀드린게 아니구요,

위 링크의 내용과 @희망대로 님의 내용의 차이가
echo 문이라는것밖에 없어서, 말씀드린겁니다.

파일처리하다가 종종오류나오고 처리가 안되던현상이, 중간에 로그찍어볼때마다 오류가 발생하더군요
다른 옵션들로 그런 오류를 방지하는게 있으면 ,
혹시라도 아시는분은 제 답글을 정정해주시면 좋겠습니다.

파일스트림에 대한건 하도 오래전에 여기저기서 본것들의 조합에 대한 기억이라.
어디서 봤는지 저도 기억이.. ^^ 그렇습니다.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인