Requête préparée PDO s'enregistre en double dans Mysql

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Requête préparée PDO s'enregistre en double dans Mysql

par kroun » 24 nov. 2006, 18:49

En fait, j'ai repris la synthaxe de l'exemple d'utilisation de PDO du livre "php5 avancé".

Effectivement juste avec $stmt->execute($valeurs); ca marche

Merci.

par Ajoloca » 24 nov. 2006, 18:40

Bonjour,

Pour quoi ceci ?
// Insertion des valeurs
$stmt->execute($valeurs);
$stmt->execute();
$stmt->execute(); s'utilise normalement avec '$stmt->BindParam()'
$stmt->execute($valeurs); seul devrait suffire.

Requête préparée PDO s'enregistre en double dans Mysql

par kroun » 24 nov. 2006, 18:20

bonjour, je viens de modifier un de mes scripts d'insertion de données dans mysql pour qu'il utilise PDO comme indiqué dans "php 5 avancé", tout fonctionne, seulement, à chaque fois les données sont inserées deux fois.

Si quelqu'un a une idée, voici mon code :
<?php

	//appel du fichier de sessions
	include_once('inc/secure.inc.php');
	
	// Appel du fichier de connexion via PDO
	include_once('inc/connexion.inc.php');
	
	// Préparation de la requête
	$sql = 'INSERT INTO liste_prod (libel_prod, product_prod, pays_prod, mat_prod, coloris_prod, dim_prod, descript_prod, image_prod, categ_prod) VALUES ( :libel , :product , :pays , :mat , :coloris , :dim , :descript , :image , :categ)';
	
	$stmt = $dbh->prepare($sql);
	
	$libel = $_POST['libel'];
	$product = $_POST['artisan'];
	$provenance = $_POST['provenance'];
	$mat = $_POST['matiere'];
	$coloris = $_POST['coloris'];
	$dim = $_POST['dimensions'];
	$descript = $_POST['description'];
	$image = $_FILES['image']['name'];
	$categ = $_POST['categ'];
	
	//Envoi de l'image
	$nom_destination = '../img/img_pod/';
	move_uploaded_file($image, $nom_destination);
	
	$valeurs = array(':libel'=>$libel, ':product'=>$product, ':pays'=>$provenance, ':mat'=>$mat, ':coloris'=>$coloris, ':dim'=>$dim, ':descript'=>$descript, ':image'=>$image, ':categ'=>$categ);
	
	
	// Insertion des valeurs
	$stmt->execute($valeurs);
	$stmt->execute();
?>
merci d'avance ! :wink: