PHP MySQL Database
§ 7. MySQL Insert Multiple
In questa sezione vediamo come inserire più record nelle tabelle.
§ 7.1 Inserire più record nelle tabelle MySQL usando MySQLi e PDO
Gli esempi che seguono sono simili a quelli della sezione precedente con la differenza che quì si aggiungono tre record consecutivi.
§ 7.1.1 Inserire più record in MyGuest_1 con MySQLi object-oriented
<?php
$servername = "127.0.0.1";
$username = "mioUserName";
$password = "miaPassword";
$dbname = "myDB";
$sql = "INSERT INTO MyGuest_1(
firstname, lastname, email)
VALUES('Antonio', 'Esposito', 'antonioEsposito@pip.com');";
$sql .= "INSERT INTO MyGuest_1(
firstname, lastname, email)
VALUES('Salvatore', 'Soria', 'salvatoreSoria@pip.com');";
$sql .= "INSERT INTO MyGuest_1(
firstname, lastname, email)
VALUES('Leopoldo', 'Burzo', 'leopoldoBurzo@pip.com')";
// Create connection
$conn = new mysqli($servername, $username,
$password, $dbname);
// Check connection
if ($conn->connect_error){
die("Connection failed: " . $conn-> connect_error);
}
echo "<p class=phpoutput> Connessione mysqli object-oriented riuscita. </p>;
// create new record
if ($conn->multi_query($sql)==TRUE){
echo "<p class=phpoutput > Nuovi records creati con successo </p>";
$last_id = $conn->insert_id;
echo "<p class=phpoutput > Last inserted ID is: " . $last_id . "</p>";
} else {
echo "<p class=phpoutput >
Errore nella creazione dei nuovi records: "
. $conn->error . "</p>";
}
$conn->close();
?>
Connessione mysqli object-oriented riuscita.
Nuovi records creati con successo
Last inserted ID is: 8578
Last inserted ID is: 8578
La tabella MyGuest_1 l'ho inserita nel mio unico database disponile. Naturalmente nel codice php che ? stato eseguito ho sostituito "mioUserName", "miaPassword", e "myDB" con i valori propri del mio database.
§ 7.1.2 Inserire più record in MyGuest_2 con MySQLi procedural
<?php
$servername = "127.0.0.1";
$username = "mioUserName";
$password = "miaPassword";
$dbname = "myDB";
$sql = "INSERT INTO MyGuest_2(
firstname, lastname, email)
VALUES('Antonio', 'Esposito', 'antonioEsposito@pip.com');";
$sql .= "INSERT INTO MyGuest_2(
firstname, lastname, email)
VALUES('Salvatore', 'Soria', 'salvatoreSoria@pip.com');";
$sql .= "INSERT INTO MyGuest_2(
firstname, lastname, email)
VALUES('Leopoldo', 'Burzo', 'leopoldoBurzo@pip.com')";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if (!$conn){
die("Connection failed: " . mysqli_connect_error);
}
echo "<p class=phpoutput> Connessione mysqli procedural riuscita. </p>;
// Create new record
if (mysqli_multi_query($conn, $sql)) {
echo "<p class=phpoutput > Nuovi records creati con successo</p>";
$last_id = mysqli_insert_id($conn);
echo "<p class=phpoutput > Last inserted ID is: " . $last_id . "</p>";
} else {
echo "<p class=phpoutput >
Errore nella creazione dei nuovi records: "
mysqli_error($conn) . "</p>";
}
mysqli_close($conn);
?>
Connessione mysqli procedural riuscita
Nuovi records creati con successo
Last inserted ID is: 1
La tabella MyGuest_2 l'ho inserita nel mio unico database disponile. Naturalmente nel codice php che ? stato eseguito ho sostituito "mioUserName", "miaPassword", e "myDB" con i valori propri del mio database.
§ 7.1.3 Inserire più record in MyGuest_3 con PDO
<?php
$servername = "127.0.0.1";
$username = "mioUserName";
$password = "miaPassword";
$conn = null;
$dbname = "myDB";
$sql1 = "INSERT INTO MyGuest_3(
firstname, lastname, email)
VALUES('Antonio', 'Esposito', 'antonioEsposito@pip.com')";
$sql2 = "INSERT INTO MyGuest_3(
firstname, lastname, email)
VALUES('Salvatore', 'Soria', 'salvatoreSoria@pip.com')";
$sql3 = "INSERT INTO MyGuest_3(
firstname, lastname, email)
VALUES('Leopoldo', 'Burzo', 'leopoldoBurzo@pip.com')";
try{
$conn = new PDO("mysql:host=$servername; dbname=$dbname",
$username, $password);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
echo "<p class=phpoutput> Connessione pdo riuscita. </p>";
// Inizio la transazione
$conn->beginTransaction();
// use exec() because no results are returned
$conn->exec($sql1);
$conn->exec($sql2);
$conn->exec($sql3);
$last_id = $conn->lastInsertId();
// Eseguo la transazione
$conn->commit();
echo "<p class=phpoutput > Nuovi records creati con successo</p>";
echo "<p class=phpoutput > Last inserted ID is: " . $last_id . "</p>";
}
catch(PDOException $e){
echo "<p class=phpoutput >". $sql. "</p>";
echo "<p class=phpoutput >". $e->getMessage(). "</p>";
}
if ($conn != null){
$conn = null;
}
?>
Connessione pdo riuscita
Nuovi records inseriti con successo
Last inserted ID is: 3
La tabella MyGuest_3 l'ho inserita nel mio unico database disponile. Naturalmente nel codice php che ? stato eseguito ho sostituito "mioUserName", "miaPassword", e "myDB" con i valori propri del mio database.