prepare($sql))
	{
		//Envoi d'un rapport d'erreur
		report_sql($sql, 'Un problème indéterminé a survenu. Impossible d\'exécuter if(!$requete = $bdd->prepare($sql))');
		
		die('Un problème indéterminé a survenu. Merci de réessayer en rechargeant la page. (F5)');
	}
	if(!$requete->execute($tableau_valeurs))
	{
		//Envoi d'un rapport d'erreur
		report_sql($sql, 'Une erreur a survenue lors de la consultation de la base de données. Impossible d\'exécuter if(!$requete->execute($tableau_valeurs))');
		
		die(echo_erreur('Une erreur a survenue lors de la consultation de la base de données. Merci de réessayer en rechargeant la page.'));
	}
	
	//Enregistrement des résultats
	$liste = array();
	while($enregistrer = $requete->fetch())
		$liste[] = $enregistrer;
	
	//Fermeture de la requête
	$requete->closeCursor();
	
	//Affichage de la requête SQL ( en mode debug SEULEMENT !!! )
	//echo $sql."
";
	
	//Renvoi du résultat
	return $liste;
}
//Fonction de comptage d'une ou plusieurs entrées dans la base de données
function count_sql($table, $conditions, $bdd, $tableau_valeurs = array())
{
	//Requête SQL de recherche
	$sql = "SELECT COUNT(*) AS count FROM ".$table.($conditions != "" ? " WHERE ".$conditions : "");
	if(!$requete = $bdd->prepare($sql))
	{
		//Envoi d'un rapport d'erreur
		report_sql($sql, 'Un problème indéterminé a survenu. Impossible d\'exécuter if(!$requete = $bdd->prepare($sql))');
		
		die('Un problème indéterminé a survenu. Merci de réessayer en rechargeant la page. (F5)');
	}
	if(!$requete->execute($tableau_valeurs))
	{
		//Envoi d'un rapport d'erreur
		report_sql($sql, 'Une erreur a survenue lors de la consultation de la base de données (pour compter des entrées). Impossible d\'exécuter if(!$requete->execute($tableau_valeurs))');
		
		die(echo_erreur('Une erreur a survenue lors de la consultation de la base de données. Merci de réessayer en rechargeant la page.'));
	}
	
	//Enregistrement du résultat
	if(!$resultat = $requete->fetch())
	{
		//Envoi d'un rapport d'erreur
		report_sql($sql, 'Une erreur a survenue lors de la consultation de la base de données (pour compter des entrées). Impossible d\'exécuter if(!$resultat = $requete->fetch())');
		
		die(echo_erreur('Une erreur a survenue lors de la consultation de la base de données. Merci de réessayer en rechargeant la page.'));
	}
	
	if(!isset($resultat['count']))
	{
		//Envoi d'un rapport d'erreur
		report_sql($sql, 'Une erreur a survenue lors de la consultation de la base de données (pour compter des entrées). Retour incorrect de la base de données. (Absence de $resultat["count"])');
		
		die(echo_erreur('Une erreur a survenue lors de la consultation de la base de données. Merci de réessayer en rechargeant la page.'));
	}
	
	//Fermeture de la requête
	$requete->closeCursor();
	
	//Renvoi du résultat
	return $resultat['count'];
}
//Fonction d'ajout d'une entrée dans la base de données
function insert_sql($table, $nom_valeur, $valeurs, $bdd, $tableau_valeurs = array())
{
	//Fonction d'insertion dans la base de données
	$sql = "INSERT INTO ".$table." (".$nom_valeur.") VALUES (".$valeurs.")";
	$requete = $bdd->prepare($sql);
	if(!$requete->execute($tableau_valeurs))
	{
		//Envoi d'un rapport d'erreur
		report_sql($sql, 'L\'enregistrement a échoué');
		
		die('L\'enregistrement a échoué');
	}
}
//Fonction de modification d'une entrée dans la base de données
function update_sql($table, $modifications, $conditions, $bdd, $tableau_valeurs = array())
{
	//Requête SQL de mise à jour
	$sql = "UPDATE ".$table." SET ".$modifications." WHERE ".$conditions;
	if(!$requete = $bdd->prepare($sql))
	{
		//Envoi d'un rapport d'erreur
		report_sql($sql, 'Un problème indéterminé a survenu. Impossible d\'exécuter $requete = $bdd->prepare($sql);');
		
		die('Un problème indéterminé a survenu. Merci de réessayer en rechargeant la page. (F5)');
	}
	if(!$requete->execute($tableau_valeurs))
	{
		//Envoi d'un rapport d'erreur
		report_sql($sql, 'Une erreur a survenue lors de la mise à jour de la base de données. Impossible d\'executer la requête.');
		
		die(echo_erreur('Une erreur a survenue lors de la mise à jour de la base de données. Merci de réessayer en rechargeant la page.'));
	}
}
//Fonction de suppression d'enregistrements dans la base de données
function delete_sql($table, $conditions, $bdd, $tableau_valeurs = array())
{
	//Requête SQL de suppression
	$sql = "DELETE FROM ".$table." WHERE ".$conditions;
	if(!$requete = $bdd->prepare($sql))
	{
		//Envoi d'un rapport d'erreur
		report_sql($sql, 'Un problème indéterminé a survenu. Impossible d\'exécuter $requete = $bdd->prepare($sql);');
		
		die('Un problème indéterminé a survenu. Merci de réessayer en rechargeant la page. (F5)');
	}
	if(!$requete->execute($tableau_valeurs))
	{
		//Envoi d'un rapport d'erreur
		report_sql($sql, 'Une erreur a survenue lors de la suppression d\'entrées de la base de données. Impossible d\'exécuter la requête.');
		
		die(echo_erreur('Une erreur a survenue lors de la suppression d\'entrées de la base de données. Merci de réessayer en rechargeant la page.'));
	}
}
//Fonction permettant de rapporter une erreur dans l'exécution d'un script SQL
function report_sql($requete_sql, $raison = "La raison n'a pas été spécifiée.")
{
	//Inclusion de la configuration
	include('inc/config/config.php');
	
	
	//Envoi du message
	//Vérification de l'autorisation d'envoi de mails
	if($active_envoi_mail == "oui")
	{
		//Envoi du message
		$send_mail = true;
		$sujet = "[SQL Comunic] Erreur dans une requête SQL"; //Sujet
		$description_rapide = "Une erreure fatale est arrivee dans une requete pour Comunic.";
		$nom_destinataire = "Dev de Comunic";
		$adresse_mail_destinataire = $mail_envoi_erreur_sql;
		$message = "
Bonjour, ce message vous a été adressé suite à une erreur fatale dans un script SQL. La requête SQL est la suivante : ".$requete_sql."
La raison de l'erreur est la suivante: ".$raison."
Les informations complémentaires sont les suivantes :
| $"."_POST | |
| ".$nom." : | ".$valeur." | 
| $"."_GET | |
| ".$nom." : | ".$valeur." | 
| $"."_SESSION | |
| ".$nom." : | ".$valeur." | 
| $"."_SERVER | |
| ".$nom." : | ".$valeur." |