여러개의 값을 update 하고싶은데 마지막 데이터만 들어갑니다.. 채택완료
경하귀요밍
8년 전
조회 2,134
</p><p>$week = 4;</p><p>for($i=0;$i<count($week);$i++)</p><p> {</p><p> $sql = "update pro_4</p><p> set week = '{$week[$i]}',</p><p> type = '{$type}',</p><p> mon = '{$mon}',</p><p> where week = $week";</p><p> sql_query($sql) or die (sql_error());</p><p> }</p><p>
이런식으로 구문을 짯는데
마지막 데이터값만 들어가는데.. 혹시 어디가 잘못되었나요ㅜㅜ
댓글을 작성하려면 로그인이 필요합니다.
답변 2개
8년 전
$week = 4;
이렇게 하셨으니 항상 week = 4 로 업데이트 되는것이지요
예를 들면 아래와 같이 하셔야 합니다
</code></pre><pre><code class="variable" style="white-space: normal; font-size: 14.004px; background-color: rgb(255, 255, 255); font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; margin: 0px !important; padding: 0px !important; border: 0px !important; outline: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; line-height: 1.8em !important; color: rgb(170, 119, 0) !important;">$week</code><span style="white-space: normal; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace; font-size: 14.004px; background-color: rgb(255, 255, 255);"> </span><code class="plain" style="white-space: normal; font-size: 14.004px; background-color: rgb(255, 255, 255); font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; margin: 0px !important; padding: 0px !important; border: 0px !important; outline: 0px !important; background-image: none !important; background-position: initial !important; background-size: initial !important; background-repeat: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; float: none !important; vertical-align: baseline !important; position: static !important; left: auto !important; top: auto !important; right: auto !important; bottom: auto !important; height: auto !important; width: auto !important; line-height: 1.8em !important;">= Array(1,2,3,4); </code>
for($i=0;$i<count($week);$i++)
{
$sql = "update pro_4
set week = '".$week[$i]."', // 이건 where 절에 있는 컬럼인데 업데이트를???
type = '".$type."',
mon = '".$mon."',
where week = '".$week[$i]."'";
sql_query($sql) or die (sql_error());
}</pre><pre>
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
8년 전
일단
$week = 4; 는 배열이 아닙니다.
count()함수는 배열의 수를 세는 함수입니다.
그러므로 무조건 에러납니다 .
</p><p><span style="font-size: 14.6667px;">$week = array(1,2,3,4);</span></p><p><span style="font-size: 14.6667px;">
</span></p><p><span style="font-size: 14.6667px;">for($i=0;$i<count($week);$i++){</span></p><p><span style="font-size: 14.6667px;">
</span></p><p><span style="font-size: 14.6667px;"> $sql = "update pro_4</span></p><p><span style="font-size: 14.6667px;"> set week = '{$week[$i]}',</span></p><p><span style="font-size: 14.6667px;"> type = '{$type}',</span></p><p><span style="font-size: 14.6667px;"> mon = '{$mon}',</span></p><p><span style="font-size: 14.6667px;"> where week = '{$week[$i]}'";</span></p><p><span style="font-size: 14.6667px;"> sql_query($sql) or die (sql_error());</span></p><p><span style="white-space: pre; font-size: 14.6667px;"> </span></p><p><span style="font-size: 14.6667px;">}</span></p><div>
</div><p>
변수로 활용하려면 이렇게!
</p><p>$week = 4;</p><p>for($i=0;$i<$week;$i++)</p><p> {</p><p> $sql = "update pro_4</p><p> set week = '{$i}',</p><p> type = '{$type}',</p><p> mon = '{$mon}',</p><p> where week = '{$week}'";</p><p> sql_query($sql) or die (sql_error());</p><p> }</p><p>
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인