여러개의 값을 update 하고싶은데 마지막 데이터만 들어갑니다..
본문
$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
일단
$week = 4; 는 배열이 아닙니다.
count()함수는 배열의 수를 세는 함수입니다.
그러므로 무조건 에러납니다 .
$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());
}
변수로 활용하려면 이렇게!
$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());
}
$week = 4;
이렇게 하셨으니 항상 week = 4 로 업데이트 되는것이지요
예를 들면 아래와 같이 하셔야 합니다
$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());
}
답변을 작성하시기 전에 로그인 해주세요.