insert into 할때 컬럼명과 값을 foreach로 채택완료
Copy
$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개
채택된 답변
+20 포인트
4년 전
Copy
$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)";
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
4년 전
select한 것을 다시 insert하는 것인가요?
여유가 된다면
insert ... select 구문도 한번 살펴 보세요.
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
블랙캣77
4년 전
$keys .= $key.',';
$values .= "'".$value."',";
으로 = 앞에 .을 붙여 주시고 ,를 바로 뒤에 붙이는게
저기 앞에
if($key != "") {
$keys .= ",";
$values .= ",";
}
이런식으로 해주시면 될거 같습니다.
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
4년 전
foreach 바깥쪽에서 insert 하셨습니다
Copy
$keys = rtrim($keys, ',');
$values = rtrim($values, ',');
$query = "INSERT INTO mytable ($keys) VALUES ($values)";
요기를 foreach 안쪽으로 넣어주세요
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인