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 15/09/2011, 15h11   #1
Invité régulier
 
Inscription : janvier 2011
Messages : 44
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 44
Points : 9
Points : 9
Par défaut PDO update qui ne fait rien

Bonjour,
ce bout de code ne marche pas et bien sûr je ne sais pas pourquoi...

si quelqu'un voit le problème

j'arrive à faire un INSERT mais l'UPDATE .......

Il n'y a même pas d'erreur qui se produit
Code :
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
 
$dbh = new PDO('mysql:host=localhost;dbname=enregistrement_bdd', $user, $pass);
 
 
 
$req_sql = "UPDATE neuilly SET prix1 = :prix1, prix2 = :prix2, neuf = :neuf, usage = :usage, mauvais = :mauvais WHERE adresse = :adresse";
 
		try {
		// Préparation de la requête :
			$o_preparer = $dbh->prepare($req_sql);
 
		// Attribution des paramètres :
			$o_preparer->bindValue(":adresse", $adresse, PDO::PARAM_STR);
			$o_preparer->bindValue(":prix1", $prix1, PDO::PARAM_INT);
			$o_preparer->bindValue(":prix2", $prix2, PDO::PARAM_INT);
			$o_preparer->bindValue(":neuf", $neuf, PDO::PARAM_INT);
			$o_preparer->bindValue(":usage", $usage, PDO::PARAM_INT);
			$o_preparer->bindValue(":mauvais", $mauvais, PDO::PARAM_INT);
 
 
		// Exécution de la requête SQL :
			$o_preparer->execute();
 
		// Affichage de la réussite :
			echo "<h3>Modification effectuée avec succès !</h3>";
			echo '<hr />';
 
		} catch (PDOException $p_e) {
			echo "<h1 class=\"erreur\">ATTENTION ERREUR : La requête concernant l'ajout des valeurs a échoué. Merci de bien vouloir contacter le WebMaster à l'adresse suivante <a href=\"mailto:toto@titi.fr\">toto@titi.fr</a>, si le problème persiste.</h1>";
 
			// A METTRE EN COMMENTAIRE
			// LORS DU PASSAGE EN PRODUCTION :
				echo $p_e->getMessage();
		}
Irokoi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 16h14   #2
Modérateur
 
Inscription : septembre 2010
Messages : 7 131
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 131
Points : 8 491
Points : 8 491
il faut afficher les erreurs pour les voir
http://php.net/manual/fr/pdo.error-handling.php
__________________
http://blog.stealth35.com/
stealth35 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 16h16   #3
Invité régulier
 
Inscription : janvier 2011
Messages : 44
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 44
Points : 9
Points : 9
En ajoutant
Code :
setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
à ma classe de connexion ça marche
par contre comment faire un LIKE %:adresse% ?
sachant que l'utilisation de l'array dans execute j'arrive ça le faire fonctionner que pour 1 entrée

Code :
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
 
function __autoload($p_str_nom) {
			include("inc/classes/$p_str_nom.php");
		}
$neuf = 40;
$normal = 40;
$mauvais = 40;
 
$adresse = "rue de l'Eglise";
 
$o_gestion_base = new gestion_base();
 
$req_sql = "UPDATE neuilly SET neuf = :neuf, normal = :normal, mauvais = :mauvais WHERE adresse LIKE :adresse";
 
		try {
 
		// Préparation de la requête :
			$o_preparer = $o_gestion_base->cnx->prepare($req_sql);
 
		// Attribution des paramètres :
			$o_preparer->bindValue(":adresse", $adresse, PDO::PARAM_STR);
			$o_preparer->bindValue(":neuf", $neuf, PDO::PARAM_INT);
			$o_preparer->bindValue(":normal", $normal, PDO::PARAM_INT);
			$o_preparer->bindValue(":mauvais", $mauvais, PDO::PARAM_INT);
 
		// Exécution de la requête SQL :
			$o_preparer->execute();
 
		// Affichage de la réussite :
			echo "<h3>Modification effectuée avec succès !</h3>";
			echo $req_sql."<br/>";
			echo '<hr />';
 
		} catch (PDOException $p_e) {
			echo "<h1 class=\"erreur\">ATTENTION ERREUR : La requête concernant l'ajout des valeurs a échoué. Merci de bien vouloir contacter le WebMaster à l'adresse suivante <a href=\"mailto:toto@titi.fr\">toto@titi.fr</a>, si le problème persiste.</h1>";
 
			// A METTRE EN COMMENTAIRE
			// LORS DU PASSAGE EN PRODUCTION :
				echo $p_e->getMessage();
		}
Irokoi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/09/2011, 16h36   #4
Invité régulier
 
Inscription : janvier 2011
Messages : 44
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 44
Points : 9
Points : 9
Bha ça marche en fait ^^
Code :
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
 
function __autoload($p_str_nom) {
			include("inc/classes/$p_str_nom.php");
		}
$neuf = 120;
$normal = 120;
$mauvais = 120;
 
$adresse = "rue de l'Eglise";
$adresse2 = "999";
$o_gestion_base = new gestion_base();
 
$req_sql = "UPDATE neuilly SET neuf = ?, normal = ?, mauvais = ? WHERE adresse LIKE ?";
 
		try {
 
		// Préparation de la requête :
			$o_preparer = $o_gestion_base->cnx->prepare($req_sql);
 
		// Attribution des paramètres :
		//	$o_preparer->bindValue(":adresse", $adresse, PDO::PARAM_STR);
		//	$o_preparer->bindValue(":neuf", $neuf, PDO::PARAM_INT);
		//	$o_preparer->bindValue(":normal", $normal, PDO::PARAM_INT);
		//	$o_preparer->bindValue(":mauvais", $mauvais, PDO::PARAM_INT);
 
		// Exécution de la requête SQL :
			$o_preparer->execute(array("$neuf", "$normal", "$mauvais","%$adresse%"));
 
		// Affichage de la réussite :
			echo "<h3>Modification effectuée avec succès !</h3>";
			echo $req_sql."<br/>";
			echo '<hr />';
 
		} catch (PDOException $p_e) {
			echo "<h1 class=\"erreur\">ATTENTION ERREUR : La requête concernant l'ajout des valeurs a échoué. Merci de bien vouloir contacter le WebMaster à l'adresse suivante <a href=\"mailto:toto@titi.fr\">toto@titi.fr</a>, si le problème persiste.</h1>";
 
			// A METTRE EN COMMENTAIRE
			// LORS DU PASSAGE EN PRODUCTION :
				echo $p_e->getMessage();
		}
Irokoi 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 00h37.


 
 
 
 
Partenaires

Hébergement Web