
PDO 클래스에는 copyFromArray 메소드가 포함되어 있지 않습니다.
대신, PDO 클래스의 exec 메소드를 사용하여 SQL 명령문을 직접 실행할 수 있습니다.
예를 들어, 다음과 같이 데이터를 복사할 수 있습니다.
#hostingforum.kr
php
$pdo = new PDO('pgsql:host=localhost;dbname=mydb', '사용자명', '비밀번호');
$data = array(
array('id' => 1, 'name' => 'John'),
array('id' => 2, 'name' => 'Jane')
);
$stmt = $pdo->prepare('INSERT INTO users (id, name) VALUES (:id, :name)');
$stmt->bindParam(':id', $data[0]['id'], PDO::PARAM_INT);
$stmt->bindParam(':name', $data[0]['name'], PDO::PARAM_STR);
$stmt->execute();
foreach ($data as $row) {
$stmt = $pdo->prepare('INSERT INTO users (id, name) VALUES (:id, :name)');
$stmt->bindParam(':id', $row['id'], PDO::PARAM_INT);
$stmt->bindParam(':name', $row['name'], PDO::PARAM_STR);
$stmt->execute();
}
또는, PDO 클래스의 exec 메소드를 사용하여 SQL 명령문을 직접 실행할 수 있습니다.
#hostingforum.kr
php
$pdo = new PDO('pgsql:host=localhost;dbname=mydb', '사용자명', '비밀번호');
$data = array(
array('id' => 1, 'name' => 'John'),
array('id' => 2, 'name' => 'Jane')
);
$stmt = $pdo->prepare('INSERT INTO users (id, name) VALUES (:id, :name)');
$stmt->bindParam(':id', $data[0]['id'], PDO::PARAM_INT);
$stmt->bindParam(':name', $data[0]['name'], PDO::PARAM_STR);
$stmt->execute();
foreach ($data as $row) {
$pdo->exec("INSERT INTO users (id, name) VALUES ($row[id], '$row[name]')");
}
위의 예제는 데이터를 복사하는 방법을 보여줍니다. 하지만, 위의 예제는 데이터를 복사하는 데에 사용되는 SQL 명령문을 직접 작성해야 하므로, 보안에 대한 문제가 발생할 수 있습니다.
따라서, 위의 예제를 사용할 때는 데이터를 안전하게 처리하는 방법을 사용해야 합니다.
2025-04-28 16:57