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&eacute; avec succ&egrave;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&eacute; avec succ&egrave;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);
}