api 데이터를 받아와 db에 update가 되지 않네요.

api 데이터를 받아와 db에 update가 되지 않네요.

QA

api 데이터를 받아와 db에 update가 되지 않네요.

답변 3

본문

아래 코드로 api 데이타중 나에게 맞는 이름을 찾아 update하고 싶은데요. 

g5_data 테이블 만들고, no, name을 만들었는데도, db update가 되지 않아요. ㅠㅠ

 

 


<?php
$mydata = array(
'A' => array ( 'C' => 1 ),
'B' => array ( 'C' => 2 )
);
// ok now hit the api...
$basePublicAPI = 'https://api';
$Data = file_get_contents($basePublicAPI);
$Data = json_decode($Data, true);
$numbases = sizeof ($Data);
$portfolioValue = 0;
for ( $xx=0; $xx<$numbases; $xx++) {
$thisname = $Data[$xx]['name'];
$Held = array_key_exists($thisname, $mydata);
if ( !$Held ) { continue; }
        $sql = " update g5_data
                    set no = '$Data[$xx]['no']',
                        name = '$Data[$xx]['name']' ";
}
?>


                                

이 질문에 댓글 쓰기 :

답변 3

답은 님이 답하신게 해결방법입니다만

 

g5_data 는 레코드가 1개인가요?

 

where 이하 구문이 없어도 되는 단발성 데이타라고 하더라도

 

동시에 해당 내용이 발생할은 없는지 궁금해지네요

 

 

 

where 절이 없으므로 인서트라고 가정하고

 

      $sql = " insert into g5_data
                    set no = '$Data[$xx]['no']',
                        name = '$Data[$xx]['name']' ";

     sql_query($sql);

 

아니면

      $sql = " update g5_data                     set no = '$Data[$xx]['no']',                         name = '$Data[$xx]['name']' ";

 

     sql_query($sql);

 

이렇게 마지막에 쿼리를 실행해야 디비에 적용됩니다.

실제로 값이 있는지 찍어보시고

echo $Data[$xx]['no'];

값이 존재한다면

 $sql = " update g5_data                    set no = '".$Data[$xx]['no']."',                        name = '".$Data[$xx]['name']."' ";

이렇게 해보세요

소스상으로는 $sql문만 입력되고 실행이 안되는것 같습니다만

 

 

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