albatrosss
-
Modifié par jordane45 le 19/02/2015 à 17:19
ElementW
Messages postés4814Date d'inscriptiondimanche 12 juin 2011StatutContributeurDernière intervention 5 octobre 2021
-
19 févr. 2015 à 18:47
Salut la communauté !
J'ai un petit souci avec une insertion, j'ai créer un formulaire d'insertion, et un autre où je fais appel à une procédure stockée pour me permettre d'inserer. Je ne vois pas d'erreur dans le code, je vous le soumet pour analyse
<?php//connection au serveur et à la bd$cnx=mysql_connect("localhost","root","");$db=mysql_select_db("gesma");//déclaration des variables$N_SITUAT=$_POST['Select1'];$NOM_UNITE=$_POST['Select2'];$NOM_CATEGORIE=$_POST['Select3'];$THEORIQUE=$_POST['texttheo'];$REALISE=$_POST['textreal'];$PRESENT=$_POST['textpres'];$ABSENT=$_POST['textabs'];$DESSERTEUR=$_POST['textdess'];$SERVICE=$_POST['textserv'];$PERMISSION=$_POST['textperm'];$MALADE=$_POST['textmal'];$REPOS=$_POST['textrep'];$STAGE=$_POST['textstag'];$PRISON=$_POST['textpris'];$CONGE=$_POST['textcong'];$MISSION=$_POST['textmiss'];//Exécution de la procédure stockée $resultat=mysql_query("Call INSERT_SYNTHESE('$N_SITUAT','$NOM_UNITE','$NOM_CATEGORIE','$THEORIQUE','$REALISE', '$PRESENT','$ABSENT','$DESSERTEUR','$SERVICE','$PERMISSION','$MALADE','$REPOS','$STAGE','$PRISON','$CONGE','$MISSION')");//affichage des résultats, pour savoir si l'insertion a marchéeif($resultat){echo("Synthèse effectuée");}else{echo("La Synthèse a échouée");}//Ferméturemysql_close();?>
jordane45
Messages postés38430Date d'inscriptionmercredi 22 octobre 2003StatutModérateurDernière intervention20 février 20254 735 19 févr. 2015 à 17:25
Bonjour,
Déjà... ajoutes ceci pour voir si ta requête ne génère pas une erreur
<?php//connection au serveur et à la bd$cnx=mysql_connect("localhost","root","");$db=mysql_select_db("gesma");//déclaration des variables$N_SITUAT=$_POST['Select1'];$NOM_UNITE=$_POST['Select2'];$NOM_CATEGORIE=$_POST['Select3'];$THEORIQUE=$_POST['texttheo'];$REALISE=$_POST['textreal'];$PRESENT=$_POST['textpres'];$ABSENT=$_POST['textabs'];$DESSERTEUR=$_POST['textdess'];$SERVICE=$_POST['textserv'];$PERMISSION=$_POST['textperm'];$MALADE=$_POST['textmal'];$REPOS=$_POST['textrep'];$STAGE=$_POST['textstag'];$PRISON=$_POST['textpris'];$CONGE=$_POST['textcong'];$MISSION=$_POST['textmiss'];//Exécution de la procédure stockée $resultat=mysql_query("Call INSERT_SYNTHESE('$N_SITUAT','$NOM_UNITE','$NOM_CATEGORIE','$THEORIQUE','$REALISE', '$PRESENT','$ABSENT','$DESSERTEUR','$SERVICE','$PERMISSION','$MALADE','$REPOS','$STAGE','$PRISON','$CONGE','$MISSION')");//affichage des résultats, pour savoir si l'insertion a marchée// Vérification du résultat// Ceci montre la requête envoyée à MySQL ainsi que l'erreur. Utile pour déboguer.if(!$resultat){$message="<br> La Synthèse a échouée !";$message='<br>Requête invalide : '.mysql_error()."\n";$message.='<br>Requête complète : '.$query;die($message);}else{echo"<br>Synthèse effectuée ";}//Ferméturemysql_close();?>
ElementW
Messages postés4814Date d'inscriptiondimanche 12 juin 2011StatutContributeurDernière intervention 5 octobre 20211 227 19 févr. 2015 à 18:47
'lut, je me répète encore et encore...
L'extension MySQL et ses fonctions
mysql_*
est obsolète! Donc si tu es en train d'apprendre à t'en servir, STOP!
Elle n'est plus maintenue et a un mauvais design, et on lui associe des techniques des plus mauvaises: le
die()
en gestion d'erreur est la pire des choses.
Et plus maintenue = si il y a une faille de sécurité dedans, elle ne sera jamais corrigée.
Son utilisation était déconseillée en PHP5.4, obsolète en 5.5, et ne sera plus livrée avec les prochaines versions de PHP.
Passe à mysqli ou à PDO, qui tous deux sont récents et surtout possèdent les requêtes préparées.