TECH I.S.

PHP MySQL複数のレコードを挿入


MySQLiとPDOを使用して複数のレコードをMySQLに挿入する

mysqli_multi_query()関数を使用して複数の SQL 文を実行する必要があります。

次の例では、「MyGuests」テーブルに3つの新しいレコードを追加します。

例 (MySQLi オブジェクト指向)

<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; // Create connection $conn = new mysqli($servername, $username, $password, $dbname); // Check connection if ($conn->connect_error) {   die("Connection failed: " . $conn->connect_error); } $sql = "INSERT INTO MyGuests (firstname, lastname, email) VALUES ('John', 'Doe', 'john@example.com');"; $sql .= "INSERT INTO MyGuests (firstname, lastname, email) VALUES ('Mary', 'Moe', 'mary@example.com');"; $sql .= "INSERT INTO MyGuests (firstname, lastname, email) VALUES ('Julie', 'Dooley', 'julie@example.com')"; if ($conn->multi_query($sql) === TRUE) {   echo "New records created successfully"; } else {   echo "Error: " . $sql . "<br>" . $conn->error; } $conn->close(); ?>

各SQLステートメントはセミコロンで区切る必要があることに注意してください。


例 (MySQLi プロシージャル)

<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDB"; // Create connection $conn = mysqli_connect($servername, $username, $password, $dbname); // Check connection if (!$conn) {   die("Connection failed: " . mysqli_connect_error()); } $sql = "INSERT INTO MyGuests (firstname, lastname, email) VALUES ('John', 'Doe', 'john@example.com');"; $sql .= "INSERT INTO MyGuests (firstname, lastname, email) VALUES ('Mary', 'Moe', 'mary@example.com');"; $sql .= "INSERT INTO MyGuests (firstname, lastname, email) VALUES ('Julie', 'Dooley', 'julie@example.com')"; if (mysqli_multi_query($conn, $sql)) {   echo "New records created successfully"; } else {   echo "Error: " . $sql . "<br>" . mysqli_error($conn); } mysqli_close($conn); ?>

PDOの方法は少し異なります。

例 (PDO)

<?php $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "myDBPDO"; try {   $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);   // set the PDO error mode to exception   $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);   // begin the transaction   $conn->beginTransaction();   // our SQL statements   $conn->exec("INSERT INTO MyGuests (firstname, lastname, email)   VALUES ('John', 'Doe', 'john@example.com')");   $conn->exec("INSERT INTO MyGuests (firstname, lastname, email)   VALUES ('Mary', 'Moe', 'mary@example.com')");   $conn->exec("INSERT INTO MyGuests (firstname, lastname, email)   VALUES ('Julie', 'Dooley', 'julie@example.com')");   // commit the transaction   $conn->commit();   echo "New records created successfully"; } catch(PDOException $e) {   // roll back the transaction if something failed   $conn->rollback();   echo "Error: " . $e->getMessage(); } $conn = null; ?>



プログラミング学習を加速させる

プログラミングをプロの講師に教えてもらいませんか。

テックアイエスのプログラミングスクールは初心者も大歓迎です。年齢制限もありません。転職・副業に強く、挫折させない手厚いサポートで稼ぐ力を身につけましょう!

スクールの詳細