je travail sur la realisation d'un back-office pour un projet de site web universitaire et je suis confronter a ce problème. je veux remplir un formulaire pour créer un article et le stocker dans une base de donnée. dans cette article je met plusieurs champs de text, un champ date et un upload de photo. quand je soumet un formulaire, la photo s'upload bien sur le serveur mais la base de donnée ne se remplie pas.
je n'arrive pas a trouver la source du problème et donc j'aurai besoin d'aide.
INSERT INTO article('id', 'titre', 'dPost', 'content', 'img_name', 'img_size','commentaire')VALUES (NULL,:titre,:dPost,:content,:imgN,:imgS,:commentaire)
Dans mon exemple j'ai enlevé le champ id, car étant donné que tu listes les colonnes à insérer et que le champ id doit à mon avis être en auto_increement, il est inutile de la lister en lui assignant NULL.
- Edité par Lartak 25 mars 2020 à 20:05:36
Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.
Faut faire déboggueur sur github maintenant ... Pourquoi ne pas avoir posté le code directement ici ?
Tu pourrais quand même activer les erreurs PDO/SQL, c'est le minimum à faire systématiquement quand même, parce que ça m'étonnerait que ce soit valide comme requête avec les quotes autour des colonnes.
En plus, tu as un fichier connexion.php mais tu ne l'inclus pas, tu dupliques le code de la connexion PDO.
Faut faire déboggueur sur github maintenant ... Pourquoi ne pas avoir posté le code directement ici ?
Tu pourrais quand même activer les erreurs PDO/SQL, c'est le minimum à faire systématiquement quand même, parce que ça m'étonnerait que ce soit valide comme requête avec les quotes autour des colonnes.
En plus, tu as un fichier connexion.php mais tu ne l'inclus pas, tu dupliques le code de la connexion PDO.
Ce n'est pas vraiment comme ça qu'on utilise empty
- Edité par julp il y a environ 12 heures
merci pour ce retour. le debug sur GitHug est la car j'ai poster ma demande sur plusieurs et le fais que je travail mon code entre plusieurs machine
j'ai bien les erreur d'activé si je ne me trompe pas et c'est de la que viens mon problème. je n'ai pas de message d'erreur et tout mon code s'execute sans problème a l'exeption des donnée qui ne s'inscrive pas dans la BDD.
le fichier connexion n'est pas exploiter car en raison des bug, j'ai voulu rassembler tout le code en un fichier. mais en effet une fois le problème résolus je remettrai en place le fichier de connexion
par contre je ne crompend pas ta reponse et ce qui pose probléme selon toi avec mon !empty. pourais tu developper s'il te plais ?
donc si je comprend bien faut utiliser une structure comme sa
if(!empty($_POST["titre"])&&!empty($_POST["dPost"])&&!empty($_POST["text"])&&!empty($_POST["comm"])&&$checkUp==TRUE){#mon code}
}}}else { #la suite du code}
ou comme sa.
if(!empty($_POST["titre"])){
if(!empty($_POST["dPost"])){
if(!empty($_POST["text"]){ if(!empty($_POST["comm"])&&$checkUp==TRUE){#mon code}
}}}else { #la suite du code}
bon. j'ai effectuer les modification mais le problème persiste. je me pose la question si c'est pas lier directement au prepare/execute que j'ai mal formater
> j'ai bien les erreurs d'activées si je ne me trompe pas et c'est de là que vient mon problème. je n'ai pas de message d'erreur et tout mon code s'exécute sans problème à l'exception des données qui ne s'inscrivent pas dans la BDD
> je me pose la question si ce n'est pas lié directement au prepare/execute que j'ai mal formaté
Tu as lu mon lien vers la doc ? Si on cherche dans ton code (PDO::)ATTR_ERRMODE, le seul que l'on trouve est dans UPloadScript.php où il est commenté !
Si une requête INSERT ne fait rien (pas d'insertion), à moins vraiment d'avoir utilisé l'option IGNORE, c'est qu'elle plante et si tu n'as pas d'erreur pour autant, je suis désolé, mais c'est qu'elles [PDO mais aussi PHP en général] ne sont pas affichées/activées. Je serais curieux que tu me fournisses une autre explication au fait que ton INSERT puisse ne rien faire sans en fait planter ? Soyons logiques !
EDIT : un autre cas me vient : un INSERT ... SELECT pour lequel le SELECT ne renvoie rien
merci a toi pour ton aide et comblé ma stupidité... (c'est une erreur basique que j'aurai du voir des le debut)
une bonne journée a toi
lien PHP vers Bdd MySQL
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.
julp.fr ~ PHP < 8.0.0 : activer les erreurs PDO/SQL ~ PHP < 8.1.0 : activer les erreurs mysqli
Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.
Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.
Face a quelqu'un pour qui l'on n'éprouve que de l'aversion et du mépris, les yeux d'un homme deviennent extrêmement froids et cruels.
julp.fr ~ PHP < 8.0.0 : activer les erreurs PDO/SQL ~ PHP < 8.1.0 : activer les erreurs mysqli