Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/12/2010, 19h03   #1
Invité de passage
 
Inscription : décembre 2010
Messages : 2
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 2
Points : 1
Points : 1
Par défaut Update avec des variables passé en parametre

Bonsoir,

voila j'ai un petit probleme, en effet j'ai une page qui récupère les données d'un formulaire (pré-remplit) et qui execute une requete UPDATE avec ces données.

Les données sont transmises sous formes de variables, mais quand j'execute la requete il ne m'affiche aucune erreur et n'insère rien dans la base de données, par contre quand j'insère les données en dur ca marche... :s

j'ai affiché chaque variable avec un echo et elles s'affichent nikel, je vois pas ou est le probleme.

voici la requete :

Code :
1
2
3
4
5
6
7
8
9
 
$requete = $bdd->prepare('UPDATE porte SET reference = :ref, prix = :prix, photo = :photo, id_matiere = :mat, id_categorie = :cat, id_modele = :mod WHERE id_porte = :id_porte');
$requete->execute(array('ref' => $ref,
			'prix' => $prix,
			'photo' => $imgfinale,
			'mat' => $mat,
			'cat' => $cat,
			'mod' => $mod,
			'id_porte' => $id_porte));
et celle qui marche nikel:

Code :
1
2
3
4
5
6
7
8
9
 
$requete = $bdd->prepare('UPDATE porte SET reference = :ref, prix = :prix, photo = :photo, id_matiere = :mat, id_categorie = :cat, id_modele = :mod WHERE id_porte = :id_porte');
$requete->execute(array('ref' => PRT_123456,
			'prix' => 123456,
			'photo' => "images/test.jpg",
			'mat' => "test",
			'cat' => "test",
			'mod' => "test",
			'id_porte' => 456));
Merci
Somesa est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/12/2010, 20h07   #2
Membre chevronné
 
Inscription : juillet 2003
Messages : 625
Détails du profil
Informations forums :
Inscription : juillet 2003
Messages : 625
Points : 600
Points : 600
Bonsoir,

peux tu afficher :

Code php :
1
2
3
4
5
6
7
8
9
echo '<pre>';
print_r(array('ref' => $ref,
			'prix' => $prix,
			'photo' => $imgfinale,
			'mat' => $mat,
			'cat' => $cat,
			'mod' => $mod,
			'id_porte' => $id_porte));
echo '</pre>';

avant ta requête par exemple.

Pour l'affichage des erreurs, essaye

Code php :
1
2
 
ini_set('display_errors',1);

en haut de ta page
__________________
Le savoir est utile que s'il est partagé par tous.
/(bb|[^b]{2})/
!sleep() ? array((string))
syl2095 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 10/12/2010, 00h13   #3
Membre du Club
 
Avatar de Linu6
 
Inscription : août 2007
Messages : 224
Détails du profil
Informations forums :
Inscription : août 2007
Messages : 224
Points : 66
Points : 66
Citation:
Envoyé par Somesa Voir le message
Bonsoir,

voila j'ai un petit probleme, en effet j'ai une page qui récupère les données d'un formulaire (pré-remplit) et qui execute une requete UPDATE avec ces données.

Les données sont transmises sous formes de variables, mais quand j'execute la requete il ne m'affiche aucune erreur et n'insère rien dans la base de données, par contre quand j'insère les données en dur ca marche... :s

j'ai affiché chaque variable avec un echo et elles s'affichent nikel, je vois pas ou est le probleme.

voici la requete :

Code :
1
2
3
4
5
6
7
8
9
 
$requete = $bdd->prepare('UPDATE porte SET reference = :ref, prix = :prix, photo = :photo, id_matiere = :mat, id_categorie = :cat, id_modele = :mod WHERE id_porte = :id_porte');
$requete->execute(array('ref' => $ref,
			'prix' => $prix,
			'photo' => $imgfinale,
			'mat' => $mat,
			'cat' => $cat,
			'mod' => $mod,
			'id_porte' => $id_porte));
et celle qui marche nikel:

Code :
1
2
3
4
5
6
7
8
9
 
$requete = $bdd->prepare('UPDATE porte SET reference = :ref, prix = :prix, photo = :photo, id_matiere = :mat, id_categorie = :cat, id_modele = :mod WHERE id_porte = :id_porte');
$requete->execute(array('ref' => PRT_123456,
			'prix' => 123456,
			'photo' => "images/test.jpg",
			'mat' => "test",
			'cat' => "test",
			'mod' => "test",
			'id_porte' => 456));
Merci

essaies comme ceci:

Code :
1
2
3
4
5
6
7
 
$requete = $bdd->prepare('UPDATE porte SET reference = :ref, prix = :prix, photo = :photo, id_matiere = :mat, id_categorie = :cat, id_modele = :mod WHERE id_porte = :id_porte');
$requete->execute(array('ref' => "'".$ref."'",
			'prix' => "'".$prix."'",
etc ...
 
));
Linu6 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 10/12/2010, 05h08   #4
Invité de passage
 
Inscription : décembre 2010
Messages : 2
Détails du profil
Informations forums :
Inscription : décembre 2010
Messages : 2
Points : 1
Points : 1
@Linu6 : J'ai essayé cette méthode en premier en pensant que c'était une erreur de syntaxe mais ca ne fonctionnait toujours pas .. ^

@syl2095 : Merci en effet en faisant un array je me suis rendu compte que chaque variable passait sauf "id_porte" qui était vide, erreur de ma part car j'ai passé cette variable sur la page précédente mais pas sur celle ci...

désolé encore une erreur d'inattention...

Je vous remercie pour votre aide qui m'a évité de longues recherches dans mon code
Somesa est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h22.


 
 
 
 
Partenaires

Hébergement Web