반응형
PHP MYSQL - 열 이름을 사용하지 않고 자동 증분 필드를 사용하여 에 삽입합니다.
32개의 필드가 있는 긴 행을 MySQL 테이블에 삽입해야 합니다.
저는 다음과 같은 것을 하고 싶습니다.
$sql="insert into tblname values (... 32 fields ...)";
필드가 MySQL 테이블 필드와 같은 순서로 되어 있으면 정상적으로 동작합니다.그러나 내 테이블은 첫 번째 필드로 자동 증가 ID가 있습니다.
제가 원하는 것은 첫 번째 테이블 이름을 제외한 모든 테이블 이름을 기입하는 것입니다.
제안사항?
그냥 사용하다NULL
첫 번째 가치로서autoincrement
필드는 정상적으로 동작합니다.
INSERT INTO tblname VALUES (NULL, ... 32 Fields ... )
삽입NULL
자동 인식 필드에 입력합니다.
이 스크립트가 해킹스크립트가 아닌 한 필드명을 사용하는 것을 권장합니다.그 이유는 테이블에 필드를 추가하거나 순서를 변경하면 코드가 끊어지기 때문입니다.
대신 필드 이름을 명시하면 나중에 훨씬 더 잘 될 것입니다.
삽입 쿼리에서 열 이름을 사용하지 않을 때는 열 값을 생략해야 합니다.
위의 정보가 잘못된 경우 알려 주십시오.
다음은 제가 사용한 간단한 숏컷입니다.
$fieldlist=$vallist='';
foreach ($_POST as $key => $value) {
$fieldlist.=$key.',';
$vallist.='\''.urlencode($value).'\','; }
$fieldlist=substr($fieldlist, 0, -1);
$vallist=substr($vallist, 0, -1);
$sql='INSERT INTO customer_info ('.$fieldlist.') VALUES ('.$vallist.')';
이 코드는 SQL Injection에 취약하므로 PDO에 맞게 수정해야 합니다만, 이 단순화된 스크립트는 원래 게시된 코드에 대한 질문에 보다 직접적으로 답변할 수 있을 것 같습니다.
언급URL : https://stackoverflow.com/questions/1871331/php-mysql-insert-into-without-using-column-names-but-with-autoincrement-field
반응형
'programing' 카테고리의 다른 글
카운트(*)로 필터링하시겠습니까? (0) | 2022.09.06 |
---|---|
Selenium 2의 선택/드롭다운 옵션 선택 방법 (0) | 2022.09.06 |
오류: gem 네이티브 확장을 빌드하지 못했습니다. mysql2를 설치하는 동안 오류가 발생했습니다. (0) | 2022.09.06 |
Python에서 문자열이 반복되는지 어떻게 알 수 있습니까? (0) | 2022.09.06 |
파일로 인쇄 배열입니다. (0) | 2022.09.05 |