curl로 받은 배열을 db에 저장하고 싶은데 잘 안되네요, 끄,,응...

curl로 받은 배열을 db에 저장하고 싶은데 잘 안되네요, 끄,,응...

QA

curl로 받은 배열을 db에 저장하고 싶은데 잘 안되네요, 끄,,응...

답변 1

본문

 $result_output = curl_exec($ch);

    echo $result_output;

    curl_close($ch);

 

-----------------

위의   $result_output  변수에 배열로 bloggername,bloggerlink,title가 담겨져 있는데요.

이를 json형으로 바꾸어 

테이블에 저장하려고 아래와 같이 코딩했는데 안돼네요.,..

도와 주세요,.,

뭐가 문제죠?

 

// MySQL 연결

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {

 

    die("MySQL 연결 실패: " . $conn->connect_error);

}

 

$result_array = json_decode($result_output, true);

 

if (!empty($result_array)) {

    foreach ($result_array as $item) {

        $item_bloggername =$result_array['bloggername'];

        $item_bloggerlink = $conn->real_escape_string($result_array['link']);

        $item_title =$conn->real_escape_string($result_array['title']);

        $sql_insert = "INSERT INTO tb_blog_list (item_bloggername, item_bloggerlink, item_title)  VALUES ('".$item_bloggername."','".$item_bloggerlink."', '".$item_title."')";

        if ($conn->query($sql_insert) === false) {

            echo "데이터 삽입 실패: " . $conn->error;

        }

    }

}

이 질문에 댓글 쓰기 :

답변 1

json_decode는 파라미터로 json형식의 문자열을 받아서 파싱하여 배열로 리턴해줍니다.

때문에 입력파라미터인 $result_output의 값이 정확히 json형식의 문자열인지 살펴보세요.

그리구, json_encode($result_output;) 값도 살펴보아야 합니다.

혹시, json_encode()의 세번째 파라미터가 깊이값인데 배열의 깊이가 그 값을 넘으로 에러 발생 하겠지만, 지금 봐서는 깊이가 하나인듯 보입니다.

상세한 논의를 온라인 미팅으로 지원해드리겠습니다.

스카이프아이디: splitedragon 연락주세요.

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
filter #curl ×
전체 97
© SIRSOFT
현재 페이지 제일 처음으로