양식 입력에 어떻게 INSERT INTO On Duplicate Key UPDATE
을 사용합니까? 온라인에서 찾은 모든 예는 카운터 또는 미리 결정된 값입니다.INSERT INTO를 사용할 때 양식 입력을위한 중복 키 UPDATE
UPDATE
표준과 SET
메서드를 사용하여 코드를 만들 수 있었지만 (내게 도움이되는 회원 덕분에) INSERT INTO On Duplicate Key UPDATE
을 사용해야했습니다.
'user_id'
은 모든 테이블에서 고유 한 기본 키이며 계정 테이블을 제외한 모든 외부 키입니다.
<?php
session_start();
require_once('config.php');
require_once('open_db.php');
$setlist='';
foreach ($_POST as $key=>$value) {
$setlist.=$key .'=\''.$value.'\',';
}
$setlist=substr($setlist, 0, -1);
$user_id=$_SESSION['SESS_USER_ID'];
$sql='UPDATE style_test SET '.$setlist.' WHERE user_id='.$user_id;
if (!mysql_query($sql,$con)) {
die('Error: ' . mysql_error());
}
?>
I마다 자동으로 필드를 삽입하기 위해 이전에 사용 된 코드는 다음과 같습니다 이것은을 할 필요가
$sql='UPDATE style_test SET ;.$setlist.' WHERE user_id='.$user_id;
^
Here
: 문제가 어디에
$fieldlist=$vallist='';
foreach ($_POST as $key => $value) {
$fieldlist.=$key.',';
$vallist.='\''.urlencode($value).'\',';
}
$fieldlist=substr($fieldlist, 0, -1);
$vallist=substr($vallist, 0, -1);
$user_id=$_SESSION['SESS_USER_ID'];
$fieldlist.=', user_id';
$vallist.=','.$user_id;
$qry='INSERT INTO style_test1 ('.$fieldlist.') VALUES ('.$vallist.')';
@ Nathaniel Ford - 나는 이것이 작동하도록하자마자 분명히 그렇게 할 것이다 :-) 나의 이전의 질문 중 하나는 의견에있는 누군가 다른 사람이 대답했다. 나는 실제 대답이 부정확 한가? –
아무도 합리적인 시간 후에 답변을 못했고 다른 해결책을 찾은 경우 자신의 올바른 해결책을 게시하고 동의해야합니다. 이것은 미래의 수색자가 그들이 원하는 답을 찾을 수있게합니다! –
당신은 절대적으로 옳았습니다. 그리고 저는 방금했습니다 :-D –