New records created successfully
Codi en PHP
<!DOCTYPE html>
<html lang="ca">
<head>
<title>Exemple Declaracions Preparades Guillem Serrat</title>
<meta http-equiv="Content-type" content="text/html; charset=UTF-8">
</head>
<body>
<?php
// Definim els paràmetres per realitzar la connexió
$servername = "127.0.0.1";
$username = "root";
$password = "fjeclot";
$dbname = "myDBPDO";
try {
// Definim un nou objecte de la classe PDO amb els atributs: host al que ens connectarem, el nom d'usuari i contrasenya.
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// A través de la funció setAttribute, agafem el tipus d'error en cas de que n'hi hagi algun
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// Definim una preparació en la variable $stmt. Bàsicament passem l'estructura de l'ordre però no els seus paràmetres, els quals els passarem més endavant
$stmt = $conn->prepare("INSERT INTO MyGuests (firstname, lastname, email) # Estructura de l'ordre
VALUES (:firstname, :lastname, :email)"); // Els paràmetres definits amb : (els anomenarem marcadors) vol dir que són les "variables"
$stmt->bindParam(':firstname', $firstname); // Dins de l'estructura, definim que el marcador tindrà com a valor la variable $firtsname
$stmt->bindParam(':lastname', $lastname); // Dins de l'estructura, definim que el marcador tindrà com a valor la variable $lastname
$stmt->bindParam(':email', $email); // Dins de l'estructura, definim que el marcador tindrà com a valor la variable $email
$firstname = "John"; // Assignem un valor a la variable
$lastname = "Doe"; // Assignem un valor a la variable
$email = "john@example.com"; // Assignem un valor a la variable
$stmt->execute(); // Agafem la preparació, i ja que les variables tenen un valor, els marcadors també. (Substituim els marcadors per valors reals de les variables)
$firstname = "Mary"; // Canviem el valor de la mateixa variable que abans
$lastname = "Moe"; // Canviem el valor de la mateixa variable que abans
$email = "mary@example.com"; // Canviem el valor de la mateixa variable que abans
$stmt->execute(); // Tornem a agafar la preparació, però com els valors de les variables han canviat, els valors dels marcadors també i per tant l'ordre final és diferent
$firstname = "Julie"; // Canviem el valor de la mateixa variable que abans
$lastname = "Dooley"; // Canviem el valor de la mateixa variable que abans
$email = "julie@example.com"; // Canviem el valor de la mateixa variable que abans
$stmt->execute(); // Tornem a agafar la preparació, però com els valors de les variables han canviat, els valors dels marcadors també i per tant l'ordre final és diferent
echo "New records created successfully";
} catch(PDOException $e) { // En cas de que hi hagi un error, PHP llença una PDOException, i la variable $e agafa aquesta excepció
echo "Error: " . $e->getMessage(); // Si no s'executa correctament, imprimeix el missatge d'error de PDOException
}
$conn = null; // Tanca la connexió amb la BBDD
?>
<h1>Codi en PHP</h1>
<?php
show_source("ex6.php");
?>
</body>
</html>