CONNECTION A LA DATABASE :

Pour faire le lien entre PHP et notre base de données mysql nous allons utiliser la méthode PDO()

<?php

class Database 
{
	private static $dbHost = "localhost";
	private static $dbName = "//nom de la base de données";
	private static $dbUSer = "//nom de l'utilisateur";
	private static $dbUserPassword = "";

	private static $connection = null;

	public static function connect() {
		try {
			self::$connection = new PDO("mysql:host=" . self::$dbHost . ";dbname=". self::$dbName, self::$dbUSer, self::$dbUserPassword);
		} catch (Exception $e) {
			die($e->getMessage());
		}
		return self::$connection;
	}

	public static function disconnect(){
		self::$connection = null;
	} 
}

Database::connect();
	
?>

Par défaut sur windows $dbuser = "root";

et $dbpassword = "";

Astuce : Si jamais il y a une erreur dans notre requête SQL , PHP ne sera pas capabble de dire d'ou ca provient , pour le permettre il faut rajouter un 4eme champ dans notre PDO();

$database = new PDO('mysql:host=localhost;dbname=store','root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));'

PREPARE et EXECUTE :

Pour des raisons de sécurité il faut TOUJOURS préparer nos requêtes SQL et les envoyer après !

Execute prend en paramètre un array( ) ;

$statement = $db->prepare("INSERT INTO customers(first_name, last_name) VALUES (?,?)");
$firstName = "Jhonny";
$lastName = "Halliday";
$statement->execute(array($firstName, $lastName));

CRYPTAGE DES DONNEES :

Il ne faut jamais stocker les mots de passe en clair dans notre base de données !

Au moment de l'envoi du mot de passe dans notre base de données lorsque l'utilisateur s'inscrit nous allons utiliser la fonction :

hash("sha256", $password);
hash("sha256", $password) + time() + rand();