Aide requét sql
Résolu/Fermé
jalalnet
Messages postés
293
Date d'inscription
mardi 20 octobre 2009
Statut
Membre
Dernière intervention
30 juillet 2023
-
13 oct. 2010 à 14:23
nicdev Messages postés 233 Date d'inscription mercredi 21 janvier 2009 Statut Membre Dernière intervention 13 décembre 2010 - 13 oct. 2010 à 15:20
nicdev Messages postés 233 Date d'inscription mercredi 21 janvier 2009 Statut Membre Dernière intervention 13 décembre 2010 - 13 oct. 2010 à 15:20
A voir également:
- Aide requét sql
- Logiciel sql - Télécharger - Bases de données
- Sql replace plusieurs valeurs - Forum Programmation
- Récupération serveur sql - Télécharger - Gestion de données
- Dupliquer une table sql ✓ - Forum Programmation
- Sql commence par ✓ - Forum Webmastering
3 réponses
nicdev
Messages postés
233
Date d'inscription
mercredi 21 janvier 2009
Statut
Membre
Dernière intervention
13 décembre 2010
87
13 oct. 2010 à 15:20
13 oct. 2010 à 15:20
Un champs n'est pas une valeur.
Un champs est une définition de zone dans une table, une valeur est son contenu.
Une query préparée va modifier les paramètres pour en faire du contenu (tes noms de champs deviendront des chaines de caractères avec le ' de chaque coté).
Si tu peux récupérer l'erreur tu verra que ton erreur vient de là.
Une query préparé dans ton cas serait :
$req = $bdd->prepare('INSERT INTO jeux_video(nom_champ1,nom_champ2) VALUES( ?,?)');
Un champs est une définition de zone dans une table, une valeur est son contenu.
Une query préparée va modifier les paramètres pour en faire du contenu (tes noms de champs deviendront des chaines de caractères avec le ' de chaque coté).
Si tu peux récupérer l'erreur tu verra que ton erreur vient de là.
Une query préparé dans ton cas serait :
$req = $bdd->prepare('INSERT INTO jeux_video(nom_champ1,nom_champ2) VALUES( ?,?)');
nicdev
Messages postés
233
Date d'inscription
mercredi 21 janvier 2009
Statut
Membre
Dernière intervention
13 décembre 2010
87
Modifié par nicdev le 13/10/2010 à 14:59
Modifié par nicdev le 13/10/2010 à 14:59
Bonjour,
De mémoire une query préparée (surtout un insert) doit obligatoirement avoir les champs de défini car ce sont des champs et non des valeurs. Dans ton cas cela donnerai :
INSERT INTO jeux_video('nom_champ1','nom_champ2') VALUES ('value1','value2')
et non une la requête correcte :
INSERT INTO jeux_video(nom_champ1,nom_champ2) VALUES ('value1','value2')
Le passage de paramètre n'est valable que pour des valeurs pas des noms de champs.
Une autre solution qui oblige de renseigné tous les champs de ta table avec des valeurs :
INSERT INTO jeux_video VALUES ('value1','value2')
Il faut le même nombre de valeur que le nombre de champs et dans le même ordre que les champs de la table.
NicDev
De mémoire une query préparée (surtout un insert) doit obligatoirement avoir les champs de défini car ce sont des champs et non des valeurs. Dans ton cas cela donnerai :
INSERT INTO jeux_video('nom_champ1','nom_champ2') VALUES ('value1','value2')
et non une la requête correcte :
INSERT INTO jeux_video(nom_champ1,nom_champ2) VALUES ('value1','value2')
Le passage de paramètre n'est valable que pour des valeurs pas des noms de champs.
Une autre solution qui oblige de renseigné tous les champs de ta table avec des valeurs :
INSERT INTO jeux_video VALUES ('value1','value2')
Il faut le même nombre de valeur que le nombre de champs et dans le même ordre que les champs de la table.
NicDev
jalalnet
Messages postés
293
Date d'inscription
mardi 20 octobre 2009
Statut
Membre
Dernière intervention
30 juillet 2023
10
13 oct. 2010 à 15:07
13 oct. 2010 à 15:07
donc ya aucune manière pour passer les champs + les valeurs ?