Bonjour et bonne année 2016,
J'ai créé 2 fonctions : une qui ajoute un enregistrement dans la table blog_de_peche, l'autre qui modifie un article existant.
Lorsque j'utilise ces fonctions, les enregistrements ne sont pas enregistrés ni modifiés.
Le code d'erreur est le suivant : PDO::errorInfo(): Array ( [0] => HY093 [1] => [2] => ) HY093,,
J'ai beau relire mon code, je ne trouve pas la cause de cette erreur.
Pouvez-vous m'aider ?
Merci beaucoup !
Voici mon code :
1 - les fonctions ajoute_article et enregistre_article :
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57 function ajoute_article($url_, $auteur_, $email_, $titre_, $description_, $mots_cles_, $article_) { $pdo = PDO2::getInstance(); $sql='INSERT INTO blog_de_peche ( url, auteur, email, titre, description, mots_cles, article) VALUES (:url, :auteur, :email, :titre, :description, :mots_cles, :article)'; $requete = $pdo->prepare($sql); $requete->bindValue(':url', $url_, PDO::PARAM_STR); $requete->bindValue(':auteur', $auteur_, PDO::PARAM_STR); $requete->bindValue(':email', $email_, PDO::PARAM_STR); $requete->bindValue(':auteur', $titre_, PDO::PARAM_STR); $requete->bindValue(':description', $description_, PDO::PARAM_STR); $requete->bindValue(':mots_cles', $mots_cles_, PDO::PARAM_STR); $requete->bindValue(':article', $article_, PDO::PARAM_STR); if ($requete->execute()) { echo '<div class="wrapper row2 clear"><div id="container" class="alert-msg success">Article enregistré avec succès</div></div>'; return $pdo->lastInsertId(); } else { echo '<div class="wrapper row2 clear"><div id="container" class="alert-msg error">Attention : impossible d\'enregistrer l\'article.</br></br>'; echo '$SQL = '.$sql.'</br></br>'; echo "\nPDO::errorInfo():\n"; print_r($requete->errorInfo()); echo implode(",",$requete->errorInfo()); echo '</div></div>'; return 0; } $requete->closeCursor();} function enregistre_article($url_,$auteur_,$email_,$titre_,$description_,$mots_cles_,$article_,$id_article_) { $pdo = PDO2::getInstance(); $sql='UPDATE blog_de_peche SET url=:url, auteur=:auteur, email=:email, titre=:titre, description=:description, mots_cles=:mots_cles, article=:article WHERE id_article=:id_article'; $requete = $pdo->prepare($sql); $requete->bindValue(':url', $url_, PDO::PARAM_STR); $requete->bindValue(':auteur', $auteur_, PDO::PARAM_STR); $requete->bindValue(':email', $email_, PDO::PARAM_STR); $requete->bindValue(':auteur', $titre_, PDO::PARAM_STR); $requete->bindValue(':description', $description_, PDO::PARAM_STR); $requete->bindValue(':mots_cles', $mots_cles_, PDO::PARAM_STR); $requete->bindValue(':article', $article_, PDO::PARAM_STR); $requete->bindValue(':id_article', $id_article_, PDO::PARAM_INT); if ($requete->execute()) { echo '<div class="wrapper row2 clear"><div id="container" class="alert-msg success">Article modifié avec succès.</div></div>'; return true; } else { echo '<div class="wrapper row2 clear"><div id="container" class="alert-msg error">Attention : impossible de modifier l\'article.</br></br>'; echo '$SQL = '.$sql.'</br></br>'; echo "\nPDO::errorInfo():\n"; print_r($requete->errorInfo()); echo implode(",",$requete->errorInfo()); echo '</div></div>'; return false; } }
2 - le code qui appelle la fonction ajoute_article :
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 <?php if (isset ($_POST['Envoi']) AND !empty($_POST['Envoi'])) { include_once('libs/fonctions-sql-blog.php'); if(isset($_POST['id_article']) AND !empty($_POST['id_article'])){$id_article=$_POST['id_article'];} else {$id_article=0;} if(isset($_POST['auteur']) AND !empty($_POST['auteur'])){$auteur=$_POST['auteur'];} if(isset($_POST['email']) AND !empty($_POST['email'])){$email=$_POST['email'];} if(isset($_POST['titre']) AND !empty($_POST['titre'])){$titre=$_POST['titre'];} if(isset($_POST['description']) AND !empty($_POST['description'])){$description=$_POST['description'];} if(isset($_POST['mots_cles']) AND !empty($_POST['mots_cles'])){$mots_cles=$_POST['mots_cles'];} if(isset($_POST['article']) AND !empty($_POST['article'])){$article= $_POST['article'];} if (isset($id_article)) { // Modification (UPDATE) de l'article si $id_article>0 ou Ajout (INSERT) de l'article si $id_article=0 if ($id_article>0) {$enregistrement_ok=enregistre_article($url,$auteur,$email,$titre,$description,$mots_cles,$article,$id_article);} else {$id_article=ajoute_article($url,$auteur,$email,$titre,$description,$mots_cles,$article);} } else { $id_article=ajoute_article($url, $auteur, $email, $titre, $description, $mots_cles, $article); } } ?>
3 - le code qui appelle la fonction enregistre_article :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 <?php if (isset ($_POST['Envoi']) AND !empty($_POST['Envoi'])) { if(isset($_POST['id_article']) AND !empty($_POST['id_article'])){$id_article=$_POST['id_article'];} if(isset($_POST['url']) AND !empty($_POST['url'])){$url=$_POST['url'];} if(isset($_POST['auteur']) AND !empty($_POST['auteur'])){$auteur=$_POST['auteur'];} if(isset($_POST['email']) AND !empty($_POST['email'])){$email=$_POST['email'];} if(isset($_POST['titre']) AND !empty($_POST['titre'])){$titre=$_POST['titre'];} if(isset($_POST['description']) AND !empty($_POST['description'])){$description=$_POST['description'];} if(isset($_POST['mots_cles']) AND !empty($_POST['mots_cles'])){$mots_cles=$_POST['mots_cles'];} if(isset($_POST['article']) AND !empty($_POST['article'])){$article= $_POST['article'];} $enregistrement_ok=enregistre_article($url,$auteur,$email,$titre,$description,$mots_cles,$article,$id_article); }
Partager