Problème avec requête préparée update

J73 -  
 grophies -
Bonjour,
J'ai un problème avec une requête préparée en PDO :
non préparée, tout fonctionne :
$reqd=$bdd->exec('UPDATE photos SET lien=\''.$nouveau_lien.'\', album=\''.$dossier.'\', legende=\''.$nouvelle_legende.'\' WHERE id='.$photo) ;


mais je voudrais protéger les données en faisant une requête préparée :

$reqd=$bdd->prepare ('UPDATE photos 
				SET 
				lien=:lien,
				album=:album,
				legende=:legende,
				taille=:taille,
				type=:type,
				WHERE id=:id'
				) ;

$reqd->execute(array(
			':lien'=>$nouveau_lien,
			':album'=>$dossier,
			':legende'=>$nouvelle_legende,
			':taille'=>$image_size,
			':type'=>$image_type,
                        ':id'=>$photo
			)) ;


Celle ci ne fonctionne pas du tout...
print_r($bdd->errorInfo()); m'affiche Array ( [0] => 00000)
Mais ça s'affiche aussi avec la requête qui fonctionne...

Est-ce que quelqu'un pourrait me dire ce qui se passe??
Merci d'avance!!
A voir également:

2 réponses

Yorundr Messages postés 289 Date d'inscription   Statut Membre Dernière intervention   44
 
La virgule avant le where est vraiment necessaire ?
0
grophies
 
tu peux faire une requête qui ressemble à ça mais avec UPDATE


$req = $bdd->prepare('INSERT INTO livres(Identifiant, Titre, Auteur, Editeur, Date_parution) VALUES(:Identifiant, :Titre, :Auteur, :Editeur, :Date_parution)');
$req->execute(array(
'Identifiant' => $identifiant,
'Titre' => $titre,
'Auteur' => $auteur,
'Editeur' => $editeur,
'Date_parution' => $date_parution));
0