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 = "

Erreur dans la requête SQL

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 :

"; //Parcours de la variable $_POST foreach($_POST as $nom=>$valeur) $message.= ""; $message .= ""; //Parcours de la variable $_GET foreach($_GET as $nom=>$valeur) $message.= ""; $message .= ""; //Parcours de la variable $_SESSION foreach($_SESSION as $nom=>$valeur) $message.= ""; $message .= ""; //Parcours de la variable $_SERVER foreach($_SERVER as $nom=>$valeur) $message.= ""; $message .= "
$"."_POST
".$nom." :".$valeur."
$"."_GET
".$nom." :".$valeur."
$"."_SESSION
".$nom." :".$valeur."
$"."_SERVER
".$nom." :".$valeur."
"; //Message $texte_message = $message; //Envoi du message include(websiteRelativePath('inc/envoi_mail.php')); echo ""; } }