api 데이터를 받아와 db에 update가 되지 않네요. 채택완료
강산몽
6년 전
조회 2,196
아래 코드로 api 데이타중 나에게 맞는 이름을 찾아 update하고 싶은데요.
g5_data 테이블 만들고, no, name을 만들었는데도, db update가 되지 않아요. ㅠㅠ
</p>
<p><?php
$mydata = array(
'A' => array ( 'C' => 1 ),
'B' => array ( 'C' => 2 )
);
// ok now hit the api...
$basePublicAPI = '<a href="https://api';" target="_blank" rel="noopener noreferrer">https://api';</a>
$Data = file_get_contents($basePublicAPI);
$Data = json_decode($Data, true);</p>
<p>$numbases = sizeof ($Data);
$portfolioValue = 0;
for ( $xx=0; $xx<$numbases; $xx++) {
$thisname = $Data[$xx]['name'];
$Held = array_key_exists($thisname, $mydata);
if ( !$Held ) { continue; }</p>
<p> $sql = " update g5_data
set no = '$Data[$xx]['no']',</p>
<p> name = '$Data[$xx]['name']' ";
}
?></p>
<p>
댓글을 작성하려면 로그인이 필요합니다.
답변 3개
채택된 답변
+20 포인트
6년 전
답은 @유진아빠 님이 답하신게 해결방법입니다만
g5_data 는 레코드가 1개인가요?
where 이하 구문이 없어도 되는 단발성 데이타라고 하더라도
동시에 해당 내용이 발생할은 없는지 궁금해지네요
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
�
강산몽
6년 전
말씀하신데로, 업데이트는 되는데, 레코드 여러개를 불러 와야 하는데, 마지막 레코드 1개만 불러 오네요. ㅠ
댓글을 작성하려면 로그인이 필요합니다.
6년 전
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);
이렇게 마지막에 쿼리를 실행해야 디비에 적용됩니다.
로그인 후 평가할 수 있습니다
답변에 대한 댓글 2개
�
강산몽
6년 전
sql_query($sql); 를 넣어 주어도 업데이트가 되지 않는데요.
�
유찬아빠
6년 전
실제로 값이 있는지 찍어보시고
echo $Data[$xx]['no'];
값이 존재한다면
$sql = " update g5_data set no = '".$Data[$xx]['no']."', name = '".$Data[$xx]['name']."' ";
이렇게 해보세요
echo $Data[$xx]['no'];
값이 존재한다면
$sql = " update g5_data set no = '".$Data[$xx]['no']."', name = '".$Data[$xx]['name']."' ";
이렇게 해보세요
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인