2012-05-19 1 views
0

테이블에 여러 사람을 동시에 추가하고 싶습니다. 배열로 배치 삽입을 할 수있는 방법이 있습니까? 아니면 각각의 루프를 사용해야합니까? mysql_query(Insert into people (name,address,email) values ('$name','$adr','$email')). 많은 감사합니다!PHP/MYSQL 레코드 일괄 추가

이 형식 사용할 수 있습니다

답변

2

: 귀하의 요청에 따라 그래서

"INSERT INTO table (id,value) VALUES (1,'temp1'),(2,'temp2'),(3,'temp3')"

: 쿼리의 구현에 관해서는

mysql_query("insert into people (name,address,email) 
values ('$name1','$adr1','$email1'), 
values ('$name2','$adr2','$email2'), 
values ('$name3','$adr3','$email3'), 
values ('$name4','$adr4','$email4') 
"); 
+0

금식 젠장! –

+0

@thisMayhem :-). ㅎ. – Niranjan

+0

mysql_real_escape_string()을 사용하여 이스케이프 (escape)하여 SQL 인젝션으로부터 안전한지 확인하십시오. 그리고 더 나은 사용, 준비된 진술. – josmith

1
INSERT INTO people (name, address,email) 
     VALUES ('$name','$adr','$email'), 
       ('$name2','$adr2','$email2'), 
       ('$name3','$adr3','$email3') 

, 내가 멀리 갈 것 mysql_은 문서에서 분명히 사용하고있는 MySql 최신 버전의 경우 mysqli을 사용해야한다고 명시하고 있기 때문에 작동합니다.

MySQL 버전 4.1.3 이상을 사용하는 경우에는 mysqli 확장을 대신 사용하는 것이 좋습니다. 을 사용하는 것이 좋습니다. 사용의

The manual for mysqli

샘플 :

mysqli = new mysqli("example.com", "user", "password", "database"); 
if ($mysqli->connect_errno) { 
    echo $mysqli->connect_error; 
}else{ 
    $mysqli->query("INSERT INTO people (name, address,email) 
        VALUES ('$name','$adr','$email'), 
          ('$name2','$adr2','$email2'), 
          ('$name3','$adr3','$email3')"); 
}