채택완료

sql쿼리 업데이트 질문

2015-10-03 (토) 01:48:31 15,369

wr_link2가 123인 것을찾아서 $wr_9 $wr_10 wr_is_comment를 업데이트해주려는데 

값이들어가지않아서 어디가 틀렸는지 질문드립니다

Copy
<?php$wr_9 ="100";$wr_10 ="200"; wr_is_comment ="2"; wr_link2 ="123";  $sql = " update g4_write_k10          set wr_9 = '$wr_9',          wr_10 = '$wr_10',          wr_is_comment = '$wr_is_comment'   where wr_link2 = '$wr_link2' "; ?>

답변 8개 / 댓글 2개

채택된 답변
+20 포인트

{$wr_link2} 이렇게 {} 로 감싸 보세요. 

$sql 문 실행은 시키신거죠 ?ㅎㅎ

sql_query($sql);

echo $sql;

update g4_write_k10 set wr_9 = '1', wr_10 = '0', wr_is_comment = '2' where wr_link2 = '100' 

이렇게 나오는데 여기는정상아닌가요?

아래가 사용한 소스인데 에러를못찾겟어여,,ㅜ,ㅜ

Copy
$rex= ('@<span class="num">(.+?)</span>@');preg_match_all($rex,$txt,$num); $wr_link2  = $num[0][0];      // echo = 100$name = ''; $rex2= ('@<em class="p1">(.+?)</em>@');preg_match_all($rex2,$txt,$name); $full_name = $name[0][0];    //echo = 경기도$wr_is_comment = '2';        $wr_9 = '';$wr_10 = '';    if($full_name = 경기도 ){$wr_9 =  "1";$wr_10 = "0"; }elseif ($full_name = 서울){$wr_9 =  "0";$wr_10 = "0"; }elseif ($full_name = 충남){$wr_9 =  "0";$wr_10 = "1"; }                                     //echo wr_9=1 wr_10=0   $sql = " update g4_write_k10         set wr_9 = '{$wr_9}',         wr_10 = '{$wr_10}',         wr_is_comment = '{$wr_is_comment}'   where wr_link2 = '{$wr_link2}' ";

답변에 대한 댓글 1개

$sql 을 echo 로 찍어 보세요. ^^

감싸면 에러가나옴니다.ㅜ.ㅜ

MySQL server version for the right syntax to use near '278' at line 5 

{$wr_link2} {'$wr_link2'} $wr_link2 이건에러나고.,

'$wr_link2' 이거는 에러는안나는데 값이안들가지고ㅡ.ㅡ 

답변에 대한 댓글 1개

sql 쿼리문 큰따옴표 안에 있는 변수들만 감싸시면 됩니다.

$sql = " update g4_write_k10
set wr_9 = '{$wr_9}',
wr_10 = '{$wr_10}',
wr_is_comment = '{$wr_is_comment}'
where wr_link2 = '{$wr_link2}' ";

이런 식으로..

 '$wr_link2' "; 맨마지막에 저기변수에 그냥숫자적어주면 들어가지고 

변수를 넣으면안들어가지네여 echo로 확인해보면 숫자가 정확히나오는데여

질문 작성시 빼먹고 적엇네요 

$wr_is_comment $wr_link2는 변수 선언햇습니다.

wr_is_comment랑 wr_link2 선언부에 $가 없네요.

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