Insertion dans mysql
Fermé
shawarma
-
13 sept. 2014 à 11:13
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 - 15 sept. 2014 à 12:15
Pitet Messages postés 2826 Date d'inscription lundi 11 février 2013 Statut Membre Dernière intervention 21 juillet 2022 - 15 sept. 2014 à 12:15
A voir également:
- Insertion dans mysql
- Insertion liste déroulante excel - Guide
- Mysql download - Télécharger - Bases de données
- Insertion sommaire word - Guide
- Insertion signature word - Guide
- Error 2002 (hy000): can't connect to local mysql server through socket '/var/run/mysqld/mysqld.sock' (2) ✓ - Forum Linux / Unix
5 réponses
Nhay
Messages postés
838
Date d'inscription
vendredi 2 novembre 2012
Statut
Membre
Dernière intervention
17 décembre 2015
126
13 sept. 2014 à 20:06
13 sept. 2014 à 20:06
Remontre ton code modifié, vire les espaces de tes noms de champs (Un p'tit _ c'est mieux)
Si possible, fais la même chose pour ta base de donnée.
Les espaces et autres caractères spéciaux sont toujours à éviter pour plus de simplicité.
Si possible, fais la même chose pour ta base de donnée.
Les espaces et autres caractères spéciaux sont toujours à éviter pour plus de simplicité.
Nhay
Messages postés
838
Date d'inscription
vendredi 2 novembre 2012
Statut
Membre
Dernière intervention
17 décembre 2015
126
Modifié par Nhay le 13/09/2014 à 14:07
Modifié par Nhay le 13/09/2014 à 14:07
Tes noms de colonnes ont des espaces, essaye de les entourer d'apostrophes '' (Celles sous la touche 7 et non celles du 4.)
Je ne suis pas trop en faveur des espaces dans tes noms de colonnes. Ainsi, puisque tout tes champs concernent un jeux, tu pourrais uniquement les nommer: nouveaux et support. (ou faire appel aux underscores comme recommande Nhay).
PS: Inutile d'encadrer le label puis l'input de <p>, tu n'as qu'à styliser les labels.
PS: Inutile aussi de fermer tes inputs (/>) à moins que tu sois un adepte du XHTML.
Maintenant, tu devrais mettre toute la requête dans le try et puis noter les erreurs si elles surviennent.
<label for="1">Nouveaux jeux :</label><input type="text" name="nouveaux" id="1" maxlength=40 placeholder="Ex : Batman arkham asylum"> <label for="2">Support jeux :</label><input type="text" name="support" id="2" maxlength=8 placeholder="Ex : Xbox 360" size="12"> <input type="submit" value="Envoyer">
PS: Inutile d'encadrer le label puis l'input de <p>, tu n'as qu'à styliser les labels.
PS: Inutile aussi de fermer tes inputs (/>) à moins que tu sois un adepte du XHTML.
Maintenant, tu devrais mettre toute la requête dans le try et puis noter les erreurs si elles surviennent.
TRY{
$bdd = new PDO('mysql:host=localhost;dbname=game', 'root', '');
$req = $bdd->prepare('INSERT INTO jeux (nouveaux, support) VALUES(?, ?)');
$req->execute(array($_POST['nouveaux'], $_POST['support']));
}
//...
Pitet
Messages postés
2826
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
21 juillet 2022
546
15 sept. 2014 à 12:15
15 sept. 2014 à 12:15
En complément, n'oublie pas d'activer les erreurs PDO qui sont masquées par défaut :
$bdd = new PDO('mysql:host=localhost;dbname=game', 'root', '');
$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING);
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Fallentree
Messages postés
2295
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
22 juillet 2019
207
Modifié par Fallentree le 13/09/2014 à 11:29
Modifié par Fallentree le 13/09/2014 à 11:29
c'est la variable $_POST que tu cherches ?
https://www.php.net/manual/fr/reserved.variables.post.php
https://www.php.net/manual/fr/reserved.variables.post.php
if (!empty($_POST))
{
$req = $bdd->prepare('INSERT INTO jeux(Nouveaux jeux, Support jeux) VALUES("'.$_POST['Nouveaux jeux'].'","'.$_POST['Support jeux'].'" )');
}
Fallentree
Messages postés
2295
Date d'inscription
mercredi 25 février 2009
Statut
Membre
Dernière intervention
22 juillet 2019
207
13 sept. 2014 à 13:53
13 sept. 2014 à 13:53
Houps !!!
$req->execute(array('"'.$_POST['Nouveaux jeux'].'"', '"'.$_POST['Support jeux'].'"'));
Nhay
Messages postés
838
Date d'inscription
vendredi 2 novembre 2012
Statut
Membre
Dernière intervention
17 décembre 2015
126
Modifié par Nhay le 13/09/2014 à 14:08
Modifié par Nhay le 13/09/2014 à 14:08
Pas besoin d'apostrophe dans le tableau, PDO s'en occupe.
C'est sur le nom des colonnes
C'est sur le nom des colonnes
INSERT INTO jeux('Nouveaux jeux', 'Support jeux') que c'est nécessaire.