Bonjour,
Peut on voir la Classe ?
Je voudrais moifier les information se trouvant dans ma table proprietes
J'ai créer une fonction qui est suppose prendre paramettre une requette update ou delete et les attributes pour une requette prepare
Mais lors de l'execution je rçois une
Erreur fatale et PDOException
Je n'arrive pas trouver d'ou proviens l'erreur
12 réponses
Qu'est ce que tu executes précisément ?
Ton constructeur est,ici, mal orthographié => " construct(...)"
c'est plutot la fonction getDB() qui s'execute pour lancé la base de donnée
getDB ? Tu veux dire getPDO()
D'où ma question, comment fais tu ton appel ?
(pour mémoire $pdo est une instance de PDO donc un objet pas une base de donnée)
Voici la fonction qui se charge de recuperer les données
On ne va pas tout debugger non plus ...
Globalement, j'utiliserai des guillements (") pour encadrer ta requete, manifestement, il manque une égalité (=) et cela ne répond pas à la question : comment executes tu ton code ?
Utilises tu un éditeur avec une coloration syntaxique ? tu gagnerais en facilité de re-lecture
Une fois les données validé dans le formulaire, ils sont récuper par la fonction updateProprietes pour creer la requette prepare, et ensuite la renvoi dans le fonction query.
query verifie alors si nous avons bien une requette prepare et se rassure si c'est une requette UPDATE puis à son tour il redirige vers la method prepareNoReturn qui fait appelle a getPDO utilise prepare et execute .
j'espère que vous allez comprendre.
Je n'attendais pas l'explication de la logique de l'execution mais son code.
les erreurs "Erreur fatale" et "PDOException" s'accompagnent habituellement d'un descriptif minimaliste.
Quel est il ? Ne peut il pas t'aider à debugguer ?
Dans mon cas, il y a juste le chemin vers la cette ligne
Ce n'est toujours pas ce que j'attendais ...
Je tente une proposition à l'aveugle ...
Si je fais ceci :
$db = new DataBase();
$db->prepareNoReturn('SELECT titre FROM proprietes where id = :id', [':id' => 1] );
Je n'ai pas d'erreur.
Si je fais ceci :
$db = new DataBase();
$db->prepareNoReturn('SELECT titre FROM proprietes where id :id', [':id' => 1] );
J'ai une erreur fatale.
Merci !
J'ai pu trouver la soulution en reverifiant la logique de mon code