Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
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 21/09/2006, 07h30   #1
Membre extrêmement actif
 
Avatar de lodan
 
Inscription : juin 2006
Messages : 1 804
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 1 804
Points : 587
Points : 587
Par défaut [Conception] Erreur de syntaxe avec un champ de tableau

Bonjour,

J'ai une erreur de syntaxe que je n'arrive pas à contourner pour un update de table avec une valeur contenue dans un tableau

Code :
1
2
3
4
$req = ("UPDATE ".$prefixe_table."maj_banque_mvt_lignes 
										SET id_mvt=\"$id_mvt\",mvt_date=\"$mvt_date\" , bud_classe=\"$tab[".bud_classe."]\" 
 
WHERE id_mvt_ligne=\"$id_mvt_ligne\"");
L'initialisation d'une requête peut-elle contenir ceci ?

Code :
bud_classe=\"$tab[".bud_classe."]\"
__________________
Y a pas, plus on fait, plus on sait. Plus on cherche, plus on sait chercher. Maintenant quant à trouver, c'est autre chose.
lodan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2006, 07h59   #2
Expert Confirmé
 
Avatar de titoumimi
 
Inscription : décembre 2003
Messages : 3 717
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : décembre 2003
Messages : 3 717
Points : 3 082
Points : 3 082
essaye quelque chose comme ça plutot :

Code :
1
2
3
4
5
<?php
$req = "UPDATE $prefixe_table maj_banque_mvt_lignes 
		SET id_mvt='$id_mvt',mvt_date='$mvt_date' , bud_classe='".$tab[bud_classe]".' 
		WHERE id_mvt_ligne='$id_mvt_ligne'");
?>
__________________
Globalement inoffensif
Merci de respecter les règles du forum.
Aucune question technique par MP !
_______________________________________________________________________
La rubrique Ruby / Rails recrute. Contactez moi !
_______________________________________________________________________
Cours Ruby et Ruby on Rails (RoR) - FAQ Ruby / Rails - Livres Ruby / Rails
Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
Tutoriaux HTML/CSS et PHP
titoumimi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2006, 09h16   #3
Membre extrêmement actif
 
Avatar de lodan
 
Inscription : juin 2006
Messages : 1 804
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 1 804
Points : 587
Points : 587
Oui, c'est mieux comme cela, mais c'est tout à fait ça et d'ailleur, il faut carrément que je fasse toujours comme cela. Même pour les champs qui ne sont pas en tableau.

Code :
1
2
3
4
5
<?php
$req = "UPDATE $prefixe_table maj_banque_mvt_lignes 
		SET id_mvt='$id_mvt',mvt_date='$mvt_date' , bud_classe='".$tab[bud_classe]."' 
		WHERE id_mvt_ligne='$id_mvt_ligne'");
?>
Merci encore
__________________
Y a pas, plus on fait, plus on sait. Plus on cherche, plus on sait chercher. Maintenant quant à trouver, c'est autre chose.
lodan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2006, 10h31   #4
Membre extrêmement actif
 
Avatar de lodan
 
Inscription : juin 2006
Messages : 1 804
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 1 804
Points : 587
Points : 587
Je coyais que c'était bon, mais en exécutant la totalité du scénario, il me met :

Code :
Notice: Use of undefined constant mvt_date - assumed 'mvt_date
et idem pour les autres champs de tableau sur le code suivant :

Code :
1
2
VALUES (\"\" , \"$id_mvt\",'".$tab[mvt_date]."' , '".$tab[bud_classe]."' , '".$tab[bud_categorie]."' ,'".$tab[bud_ss_categorie]."' ,
											'".$tab[mvt_tiers_type]."', '".$tab[mvt_id_tiers]."'
__________________
Y a pas, plus on fait, plus on sait. Plus on cherche, plus on sait chercher. Maintenant quant à trouver, c'est autre chose.
lodan est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2006, 10h35   #5
Expert Confirmé
 
Avatar de titoumimi
 
Inscription : décembre 2003
Messages : 3 717
Détails du profil
Informations personnelles :
Âge : 31

Informations forums :
Inscription : décembre 2003
Messages : 3 717
Points : 3 082
Points : 3 082
avant toute chose, je te conseille d'aller lire ce tuto, et plus particulièrement la conclusion

Et d'en profiter pour réécrire tes requêtes. Ainsi, le code sera plus lisible, et odnc beaucoup plus facile à debugger (pas d'échapement de guillemets, ...).
__________________
Globalement inoffensif
Merci de respecter les règles du forum.
Aucune question technique par MP !
_______________________________________________________________________
La rubrique Ruby / Rails recrute. Contactez moi !
_______________________________________________________________________
Cours Ruby et Ruby on Rails (RoR) - FAQ Ruby / Rails - Livres Ruby / Rails
Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
Tutoriaux HTML/CSS et PHP
titoumimi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2006, 10h38   #6
Membre émérite

 
Avatar de FCYPBA
 
Inscription : novembre 2004
Messages : 735
Détails du profil
Informations personnelles :
Âge : 33
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : novembre 2004
Messages : 735
Points : 924
Points : 924
Citation:
Envoyé par lodan
Je coyais que c'était bon, mais en exécutant la totalité du scénario, il me met :

Code :
Notice: Use of undefined constant mvt_date - assumed 'mvt_date
C'est un avertissement de php pour te dire que la constante mvt_date n'existe pas, et qu'en lieu et place de mvt_date il utilise la chaine 'mvt_date'

Pour faire disparaitre ces notice, il faut que tu remplace les $tab[mvt_date] par $tab['mvt_date'], et ainsi de suite pour toutes les colones de ton tableau

Toutes les infos, dans la section des tableaux dans la doc et plus particulièrement la partie À faire et à ne pas faire avec les tableaux
__________________
Pierre
1. Dans le manuel ( PHP, MySQL,..., rayez la mention inutile), tu te plongeras à deux fois plutôt qu'aucune.
2. Dans la doc php, tu liras attentivement les sections Chaines de caractères, Tableaux et Système de fichiers
3. Un code rapide c'est bien, un code maintenable c'est mieux
...

Why was the font tag an orphan ? Because it didn't have a font-family.
FCYPBA est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 21/09/2006, 11h45   #7
Membre extrêmement actif
 
Avatar de lodan
 
Inscription : juin 2006
Messages : 1 804
Détails du profil
Informations forums :
Inscription : juin 2006
Messages : 1 804
Points : 587
Points : 587
J'étais persuadé d'avoir fait ce que tu préconises, le brouillard dans ma mémoire, j'ai quelques octets qui ont sautés, un mauvais atterrissage de tête sur le disque dur sûrement.

Merci
__________________
Y a pas, plus on fait, plus on sait. Plus on cherche, plus on sait chercher. Maintenant quant à trouver, c'est autre chose.
lodan 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 08h50.


 
 
 
 
Partenaires

Hébergement Web