Probleme de remplissage de bdd

ladj59 Messages postés 322 Statut Membre -  
Enax Messages postés 204 Statut Membre -
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 204 Statut Membre 145
 
Mettre des double quotes de chaque côté des tirets...
0
ladj59 Messages postés 322 Statut Membre 3
 
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 204 Statut Membre 145
 
$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 Statut Membre 3
 
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 204 Statut Membre 145
 
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 Statut Membre 3
 
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 204 Statut Membre 145
 
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 Statut Membre 3
 
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 204 Statut Membre 145
 
" [...] references = '$arr_valeurs[0]-$arr_valeurs[1]' [...] "
0
ladj59 Messages postés 322 Statut Membre 3
 
je ne comprends pas du tout ce que tu as fais

peux tu m'expliquer?
0
Enax Messages postés 204 Statut Membre 145
 
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