미채택 완료
여러개의 값을 update 하고싶은데 마지막 데이터만 들어갑니다..
Copy
$week = 4;for($i=0;$i<count($week);$i++) { $sql = "update pro_4 set week = '{$week[$i]}', type = '{$type}', mon = '{$mon}', where week = $week"; sql_query($sql) or die (sql_error()); }
이런식으로 구문을 짯는데
마지막 데이터값만 들어가는데.. 혹시 어디가 잘못되었나요ㅜㅜ
답변 2개
logos
2017-08-07 (월) 17:43:01
$week = 4;
이렇게 하셨으니 항상 week = 4 로 업데이트 되는것이지요
예를 들면 아래와 같이 하셔야 합니다
Copy
$week = Array(1,2,3,4);
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());
}
2017-08-07 (월) 17:39:33
일단
$week = 4; 는 배열이 아닙니다.
count()함수는 배열의 수를 세는 함수입니다.
그러므로 무조건 에러납니다 .
Copy
$week = array(1,2,3,4);for($i=0;$i<count($week);$i++){ $sql = "update pro_4 set week = '{$week[$i]}', type = '{$type}', mon = '{$mon}', where week = '{$week[$i]}'"; sql_query($sql) or die (sql_error()); }
변수로 활용하려면 이렇게!
Copy
$week = 4;for($i=0;$i<$week;$i++) { $sql = "update pro_4 set week = '{$i}', type = '{$type}', mon = '{$mon}', where week = '{$week}'"; sql_query($sql) or die (sql_error()); }
답변을 작성하려면 로그인이 필요합니다.