Bonjour à tous,
J'ai cherché dans la FAQ et ce qui a déjà été posté mais je n'ai rien trouvé qui correspondait à mon problème.
Je m'explique :
j'ai un formulaire sur ma page web sur laquelle l'utilisateur remplit certains champs.
Je transmet en post les infos saisies à mon script php qui va les traiter.
J'affecte ensuite chaque champ à une variable :
J'ai ensuite une requête qui met permet d'insérer mes infos dans ma base de données :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 if(isset($_POST['checkRecycle'])) $isRecycle = 1; else $isRecycle = 0; //checkbox $confidentiel1 = $_POST['confidentiel1']; $dateMontage = $_POST['champDateMontage']; $codeConteneur = $_POST['numConteneur']; $composant1 = $_POST['composant1']; $composant2 = $_POST['composant2']; $confidentiel2 = $_POST['confidentiel2']; $composant3 = $_POST['composant3']; $composant4 = $_POST['composant4']; $composant5 = $_POST['composant5']; $composant6 = $_POST['composant6']; $composant7 = $_POST['composant7']; $commentaire = $_POST['commentaire']; if(isset($_POST['shunt'])) $shunt = $_POST['shunt']; else $shunt = 0; $idConteneur = $bdd->prepare('SELECT idConteneur FROM CONTENEUR WHERE codeConteneur = :codeConteneur'); $idConteneur->execute(array( 'codeConteneur' => $codeConteneur ) ); $idMessage = $bdd->prepare('SELECT idMessage FROM MESSAGE WHERE texteMessage = :contenuMessage'); $idMessage->execute(array( 'contenuMessage' => $commentaire ) );
Et c'est là qu'apparaît mon problème.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 $reqAjoutTabMontage = $bdd->prepare('INSERT INTO MONTAGE(dateMontage, nbShuntMontage, recycleMontage, idConteneur, idMessage) VALUES (:dateMontage, :nbShuntMontage, :recycleMontage, :idConteneur, :idMessage)'); $reqAjoutTabMontage->execute(array( 'dateMontage' => $dateMontage, 'nbShuntMontage' => $shunt, 'recycleMontage' => $isRecycle, 'idConteneur' => $idConteneur, 'idMessage' => $idMessage ) );
La ligne 80 correspond à ");" j'en déduit donc que l'erreur se situe dans le dernier execute.Catchable fatal error: Object of class PDOStatement could not be converted to string in /var/www/Plateforme/includes/functions/function.ajoutMontage.php on line 80
J'ai fait un var_dump de mes variables et obtient :
Le problème est donc sur le code conteneur qui est un object.int(1) string(4) "xxxx" string(10) "06/15/2015" string(13) "confidentiel1" string(10) "composant1" string(10) "composant2" string(13) "confidentiel2" string(10) "composant3" string(10) "composant4" string(10) "composant5" string(10) "composant6" string(10) "composant7" string(12) "commentaires" string(1) "4"
object(PDOStatement)#2 (1) { ["queryString"]=> string(70) "SELECT idConteneur FROM CONTENEUR WHERE codeConteneur = :codeConteneur" }
Je ne sais pas trop comment résoudre ce problème et ne comprend pas le "could not be converted to string" sachant que je cherche un int.
Merci à ceux qui prendront le temps de lire et de répondre !
Partager