PHP PDO を使用して複数の挿入を実行しようとしています。
私が見つけた最も近い答えはこれです
単一の mysql 準備済みステートメントに配列を挿入する方法
ただし、与えられた例では ?? を使用しています。実際のプレースホルダーの代わりに。
プレースホルダーについては、PHP doc サイトの例を見てきました。
php.net pdo.prepared-statements
$stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (:name, :value)");
$stmt->bindParam(':name', $name);
$stmt->bindParam(':value', $value);
ここで、上記を達成したかったが、配列を使用したとしましょう
$valuesToInsert = array(
0 => array('name' => 'Robert', 'value' => 'some value'),
1 => array('name' -> 'Louise', 'value' => 'another value')
);
PDO とトランザクションごとに複数の挿入を行うにはどうすればよいですか?
ループで始まると思いますか?
$stmt = $dbh->prepare("INSERT INTO REGISTRY (name, value) VALUES (:name, :value)");
foreach($valuesToInsert as $insertRow){
// now loop through each inner array to match binded values
foreach($insertRow as $column => value){
$stmt->bindParam(":{$column}", value);
}
}
$stmt->execute();
ただし、上記は機能しませんが、うまくいけば、私が達成しようとしていることを示します