Probleme de remplissage de bdd

Fermé
ladj59 Messages postés 322 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 29 décembre 2008 - 21 mars 2008 à 16:20
Enax Messages postés 203 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 16 mars 2010 - 21 mars 2008 à 17:56
Bonjour,

je dois remplir ma bdd en faisant un update et la query sera ci dessous, le probléme que j'ai c'est que je rentre les noms a rentrer séparés par un tiret ex a-b-c-d-e-f et j'ai besoin que le dernier champs à remplir reprenne tous les autres et que ce soit donc a-b-cd-e-f

$query = "UPDATE base_physique SET auteur = '".$arr_valeurs[0]."' , motstitre = '".$arr_valeurs[1]."' , année = '".$arr_valeurs[2]."' , journal = '".$arr_valeurs[3]."' , volume = '".$arr_valeurs[4]."' , page = '".$arr_valeurs[5]."' , motscle = '".$arr_valeurs[6]."'"
. " WHERE sujet = '".$_SESSION['sujet']."'";

j'avais pensé rajouter references ='".$arr_valeurs[0].-.$arr_valeurrs[1]. .... mais j'ai une erreur donc je ne sais pas si c'est moi qui fait une erreur de syntaxe où si c'est impossible de faire ca

Merci de m'aider

8 réponses

Enax Messages postés 203 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 16 mars 2010 145
21 mars 2008 à 16:25
Mettre des double quotes de chaque côté des tirets...
0
ladj59 Messages postés 322 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 29 décembre 2008 3
21 mars 2008 à 16:31
j'ai ssayé mais ca me mets ca :


$query = "UPDATE base_physique SET auteur = '".$arr_valeurs[0]."' , motstitre = '".$arr_valeurs[1]."' , année = '".$arr_valeurs[2]."' , journal = '".$arr_valeurs[3]."' , volume = '".$arr_valeurs[4]."' , page = '".$arr_valeurs[5]."' , motscle = '".$arr_valeurs[6]."' , references = '".$arr_valeurs[0].'-'.$arr_valeurs[1]."' '"
. " WHERE sujet = '".$_SESSION['sujet']."' AND auteur = ''";





You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'references = 'e-e' ' WHERE sujet = 'les ions' AND auteur = ''' at line 1
0
Enax Messages postés 203 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 16 mars 2010 145
21 mars 2008 à 16:41
$query = "[...] SET [...] references = '".$arr_valeurs[0].'-'.$arr_valeurs[1]."' '". " WHERE [...]";

Et là dedans, il n'y a rien qui te choque ? Réfléchis un peu !

En plus, tu as lu mon premier message de travers.
0
ladj59 Messages postés 322 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 29 décembre 2008 3
21 mars 2008 à 16:47
references = '".$arr_valeurs[0]."'"-"'".$arr_valeurs[1]."'"

j'ai un peu de mal avec la concaténation et je t'avoue que je ne vois pas trop l'erreur de syntaxe
0
Enax Messages postés 203 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 16 mars 2010 145
21 mars 2008 à 17:04
Là c'est pas qu'un peu. Mais étant donné que ta requête est entre guillemets, je ne vois pas pourquoi tu utilises la concaténation.
https://pbnaigeon.developpez.com/tutoriel/PHP/apostrophe-guillemet/

PS : Et utilise donc les balises < code>< /code> (sans les espaces) ! C'est pénible de lire ton code sans, surtout pour différencier les quotes et double quotes.
0
ladj59 Messages postés 322 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 29 décembre 2008 3
21 mars 2008 à 17:11
ben je mettrai ca alors d'après le tuto

references = '.$arr_valeurs[0].' "-" '.$arr_valeurs[1].' " le dernier " étant prour fermé celui mis avant upadate

toujours une erreur^^
0
Enax Messages postés 203 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 16 mars 2010 145
21 mars 2008 à 17:19
Tu me désespères... lol

" [...] references = '$arr_valeurs[0]-$arr_valeurs[1]' [...] "
ou
' [...] references = "'.$arr_valeurs[0].'-'.$arr_valeurs[1].'" [...] '
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ladj59 Messages postés 322 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 29 décembre 2008 3
21 mars 2008 à 17:28
ok mais quand j'apllique la chose et bien j'ai l'erreur suivanrte qui apparait

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'references = 'd-d' WHERE sujet = 'le silice'' at line 1
0
Enax Messages postés 203 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 16 mars 2010 145
21 mars 2008 à 17:32
" [...] references = '$arr_valeurs[0]-$arr_valeurs[1]' [...] "
0
ladj59 Messages postés 322 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 29 décembre 2008 3
21 mars 2008 à 17:36
je ne comprends pas du tout ce que tu as fais

peux tu m'expliquer?
0
Enax Messages postés 203 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 16 mars 2010 145
21 mars 2008 à 17:56
Une requête SQL est en fait une chaîne qui peut avoir les formes suivantes :
"UPDATE table SET champ='valeur' WHERE champ='valeur'"
ou
'UPDATE table SET champ="valeur" WHERE champ="valeur"'

Si l'une de tes valeurs est une variable, tu fais :
"UPDATE table SET champ='$variable' WHERE champ='valeur'"
ou
'UPDATE table SET champ="'.$variable.'" WHERE champ="valeur"'


Dans le premier cas, la chaîne entre guillemets interprète les variable et les remplace par leur valeur.
Dans le deuxième cas, la chaîne entre apostrophes n'interprète pas les variables. Il faut donc utiliser la concaténation pour envoyer la valeur.
0