insert into 할때 컬럼명과 값을 foreach로
본문
$keys = ''; $values = ''; foreach ($mysql_field_array as $key => $value) { $keys = $key.','; $values = "'".$value."',"; } $keys = rtrim($keys, ','); $values = rtrim($values, ','); $query = "INSERT INTO mytable ($keys) VALUES ($values)";
이와 같이 구현을 했는데 마지막 값만 들어가는데 어떤부분이 잘못된건지 궁금합니다
답변 4
$keys = '';
$values = '';
foreach ($mysql_field_array as $key => $value) {
$keys .= $key.',';
$values .= "'".$value."',";
}
$keys = rtrim($keys, ',');
$values = rtrim($values, ',');
$query = "INSERT INTO mytable ($keys) VALUES ($values)";
foreach 바깥쪽에서 insert 하셨습니다
$keys = rtrim($keys, ',');
$values = rtrim($values, ',');
$query = "INSERT INTO mytable ($keys) VALUES ($values)";
요기를 foreach 안쪽으로 넣어주세요
!-->
$keys .= $key.',';
$values .= "'".$value."',";
으로 = 앞에 .을 붙여 주시고 ,를 바로 뒤에 붙이는게
저기 앞에
if($key != "") {
$keys .= ",";
$values .= ",";
}
이런식으로 해주시면 될거 같습니다.
select한 것을 다시 insert하는 것인가요?
여유가 된다면
insert ... select 구문도 한번 살펴 보세요.
답변을 작성하시기 전에 로그인 해주세요.