Je ne comprends vraiment pas d'où viens mon problème, j'ai une requête UPDATE dans mon script qui est censé modifié ma base mais rien n'y fait ca ne veut pas tourner. Je vous montre mon code :
if($_POST['client'] == $resultat[0]['login']) {
if($_FILES['pdf']['error'] == 4) {
//Mettre à jour les nouvelles infos dans eu_intervention sans nouveau fichier
$reponse = $bdd->prepare('UPDATE eu_intervention SET jour=:jour, coût=:coût, descriptif=:descriptif, login=:login, intervenant=:intervenant, type_intervention=:type_intervention WHERE id_inter =:id_inter');
$reponse->bindParam(':jour',$_POST['date']);
$reponse->bindParam(':coût',$_POST['cout']);
$reponse->bindParam(':descriptif',$_POST['descriptif']);
$reponse->bindParam(':login',$_POST['client']);
$reponse->bindParam(':intervenant',$_POST['intervenant']);
$reponse->bindParam(':type_intervention',$_POST['type_intervention']);
$reponse->bindParam(':id_inter',$_SESSION['change_bon_id_inter']);
$reponse->execute();
$reponse->closeCursor();
} else {
//Mettre à jour les nouvelles infos dans eu_intervention avec un nouveau fichier
$reponse = $bdd->prepare('UPDATE eu_intervention SET jour=:jour, coût=:coût, descriptif=:descriptif, login=:login, nom_fichier=:nom_fichier, intervenant=:intervenant, type_intervention=:type_intervention WHERE id_inter=:id_inter');
$reponse->bindParam(':jour',$_POST['date']);
$reponse->bindParam(':coût',$_POST['cout']);
$reponse->bindParam(':descriptif',$_POST['descriptif']);
$reponse->bindParam(':login',$_POST['client']);
$reponse->bindParam(':nom_fichier',$_FILES['pdf']['name']);
$reponse->bindParam(':intervenant',$_POST['intervenant']);
$reponse->bindParam(':type_intervention',$_POST['type_intervention']);
$reponse->bindParam(':id_inter',$_SESSION['change_bon_id_inter']);
$reponse->execute();
$reponse->closeCursor();
//Suppression de l'ancien fichier
unlink('../comptes/'.$_POST['client'].'/'.$resultat[0]['nom_fichier']);
//Upload du nouveau fichier
$dossier = '../comptes/'.$_POST['client'].'/';
$adresse = $dossier . basename($_FILES['pdf']['name']);
move_uploaded_file($_FILES['pdf']['tmp_name'], $adresse);
}
Qu'on soit dans le if ou dans le else rien n'y fait elle ne veut pas marcher, j'ai bien verifié que je rentrais dans l'un ou l'autre avec des petits echo par ci par la, j'ai aussi essayé la requete diretement sur phpmyadmin et la pas de probleme ma requete tourne bien.
J'ai aussi bien sur vérifié toutes mes variables $_POST / $_SESSION ou $_FILES et tout est correct Je vois vraiment pas d'où peut venir le problème.
Je suis bien connecté à ma base car plus haut dans mon code j'ai un petit SELECT qui fonctionne très bien, et de toute façon je n'ai pas d'erreur de la pars de ma base, simplement rien du tout.
La ligne en commentaire c'est ce que j'avais avant et la ligne juste en dessous c'est donc ce que je viens de rajouter. Depuis que j'ai fais ça, plus aucune page de marche (HTTP ERROR 500)
Tu as une erreur de syntaxe, qui te serait notifiée si tu avais aussi activé l'affichage des erreurs de PHP (demander uniquement à PDO est inutile si PHP ne doit rien dire). Tu en trouveras plus à ce sujet dans les FAQs (comme celle mentionnée dans ma signature).
En effet ! Merci beaucoup ! Voici l'erreur que PHP me retourne :
Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: number of bound variables does not match number of tokens in /home/limousinf/www/liminfo/mon_compte/admin/verif_modif_inter.php on line 23
Ma ligne 23 étant l’exécution de ma requête, je vais faire les paramètres 1 par 1, je vais bien trouver l'erreur merci à vous !
EDIT : Alors le problème venait parait-il de mon id j'ai tout réécrit à la main et ça marche ! B=Donc bon, on est contant
@programmeur prince Bonjour, merci de ne pas déterrer d'ancien sujet résolu, créer le votre dans le respect des règles du forum, a savoir un minimum de politesse( un message commence par bonjour et se termine par des remerciements par avance pour les futures réponses), un descriptif de votre problématique et votre code insérer sur le forum à l'aide du bouton code </> prévu à cet effet.
Avant de poster un message, vérifiez la date du sujet dans lequel vous comptiez intervenir.
Si le dernier message sur le sujet date de plus de deux mois, mieux vaut ne pas répondre. En effet, le déterrage d'un sujet nuit au bon fonctionnement du forum, et l'informatique pouvant grandement changer en quelques mois il n'est donc que rarement pertinent de déterrer un vieux sujet.
Au lieu de déterrer un sujet il est préférable :
soit de contacter directement le membre voulu par messagerie privée en cliquant sur son pseudonyme pour accéder à sa page profil, puis sur le lien "Ecrire un message"
soit de créer un nouveau sujet décrivant votre propre contexte
ne pas répondre à un déterrage et le signaler à la modération
Je ferme ce sujet. En cas de désaccord, me contacter par MP.
Keep It Simple Stupid - SF4 conf Swift - Cours 1/4 SF4 - Exceptions PDO - Formes Normales