Bonjour,
Je bloque depuis ce matin sur une requête qui ne fonctionne pas et je ne parviens pas à la débugger. J'ai testé les valeurs passées en paramètres de nombreuses fois et ils sont corrects. Je pense que le problème vient des quotes puisque je passe en paramètre un tableau sérialisé, mais même les addslashes n'y font rien. Voici mon code :
Les trois valeurs passées en paramètres sont correctes, j'en suis certain. C'est l'update qui ne s'effectue pas. Voici le code de la requête :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 // L'appel de la fonction retourne un tableau sérialisé qui correspond aux données d'une courbe $newCurve = enlargeCurve( $db->getCurve($_POST['curveId'])->values, $percentage ); // J'appelle alors la fonction pour remplacer les anciennes données par les nouvelles $db->updateRealCurve( intval($_POST['curveId']), intval($_POST['caseId']), addslashes($newCurve) );
Ce code me retourne "erreur", il y a donc une erreur dans la requête. J'ai essayé d'utiliser les fonctions errorInfo et errorCode de PDO mais elles ne retournent rien. Si quelqu'un a une idée... Merci beaucoup !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 public function updateRealCurve($idCurve, $idCase, $values) { $statement = $this->db->prepare($this->updateRealCurve); $statement->bindParam(':idCurve', $idCurve, PDO::PARAM_INT); $statement->bindParam(':idCase', $idCase, PDO::PARAM_INT); $statement->bindParam(':values', $values, PDO::PARAM_STR); if( $statement->execute() ) echo "requête ok"; else echo "erreur"; }
Partager