PHP를 사용하여 mysql에서 다중 레코드를 추가하는 방법. 배열을 사용하여이 문제를 해결할 수있는 유일한 방법입니다.PHP를 사용하여 mysql에서 다중 레코드를 추가하는 방법
foreach($array as $record)
{ ... }
과에 대한 INSERT 쿼리를 수행 :
PHP를 사용하여 mysql에서 다중 레코드를 추가하는 방법. 배열을 사용하여이 문제를 해결할 수있는 유일한 방법입니다.PHP를 사용하여 mysql에서 다중 레코드를 추가하는 방법
foreach($array as $record)
{ ... }
과에 대한 INSERT 쿼리를 수행 :
당신은 이 당신이 기록
의 배열에서 같은 문장을 구성 할 수있는 방법입니다(http://dev.mysql.com/doc/refman/5.1/en/insert.html 참조) 다중 삽입 문 (INSERT ... VALUES (신기록), (record2) 등)를 사용할 수 있습니다
$values = array();
foreach($records_array as $record)
$values[] = sprintf("('%s' , '%s')", addslashes($record['name']), addslashes($record['email']));
$sql = "INSERT INTO users(name, email) VALUES " . implode(",", $values);
mysql_query($sql);
좋은 소식이지만 참고 : addslashes 대신 mysql_real_escape_string을 사용하십시오 !!!!!!! http://php.net/manual/en/function.mysql-real-escape-string.php – Dan
% s의 의미는 무엇입니까? – user225269
그것은 addslashes ($ record [ 'name'])'가 제공 한 매개 변수의 문자열 대체를 나타냅니다. – Pentium10
당신은 배열의 각 구성원을 통해 갈 필요가 배열 : 나는 배열 만 같을 것이다 데이터베이스에 추가됩니다 기록을 사용하여 시도 때문에 각 구성원 또는 - 성능 향상 - user187291's answer에 설명 된대로 모든 레코드를 하나의 명령문에 삽입하십시오.
각 반복마다 DB를 누르는 대신 하나의 쿼리로 모두 수행하는 것이 좋습니다. 아니? –
참. @ stereofrog의 대답은 방법을 설명합니다. VALUES가 한 번에 여러 행을 처리 할 수 있다는 것을 알지 못했습니다! –
자세한 내용과 코드 소스를 제공 할 수 있습니까? – Zied