problème de codage avec php et pdo

Eléphant du PHP | 63 Messages

28 avr. 2016, 21:25

voilà,
mon hébergeur à fait la MAJ vers pdo donc me voilà à re-coder un peu mon site.
et j'ai fait plusieurs modif et j'ai des messages d'erreur pans ma page contact.php .
voici les erreurs:
Warning: exec() has been disabled for security reasons in /home/u973176086/public_html/contact.php on line 35
Fatal error: Call to a member function closeCursor() on a non-object in /home/u973176086/public_html/contact.php on line 49
voici ma page

Code : Tout sélectionner

<?php include("header.php"); $date = date("d-m-Y"); echo'<section> <center><h2>Laissez un petit message sympa!</h2> <form method="POST" action="contact.php?action=insert"> <table> <tr><td>Date:</td><td><input type="text" name="date" value="'.$date.'"></td></tr> <tr><td>Nom:</td><td><input type="text" name="name"></td></tr> <tr><td>Email:</td><td><input type="text" name="email"></td></tr> <tr><td>Commentaire:</td><td><textarea name="comment"></textarea></td></tr></table> <input type="submit" value="valider"><input type="reset" value="recommencer"> </center></br> </form> </section>'; if($_GET["action"]=="insert") { $date=$_POST['date']; $name=$_POST['name']; $email=$_POST['email']; $comment=$_POST['comment']; if(empty($name) || empty($comment)) { $message="<center>Oubli d'un champ!</br>Veuillez recommencer.</center></br>"; } else { $db->exec('INSERT INTO livre(date, name, email, comment) VALUES ("'.$date.'", "'.$name.'", "'.$email.'", "'.$comment.'")'); $message='<strong>Yes !</strong>'; header ("Location: ./contact.php"); } echo $message; } $req = "SELECT * FROM livre"; $data = $db>exec($req); if(isset($data)) { $req = "SELECT * FROM livre ORDER BY id ASC"; $resultat = $db->query($req); while($data = $resultat->fetch(PDO::FETCH_ASSOC)) { echo'<center><table id="livre"> <tr><td>Date:</td><td>'.$data['date'].'</td></tr> <tr><td>Nom:</td><td>'.$data['name'].'</td></tr> <tr><td>Email:</td><td>'.$data['email'].'</td></tr> <tr><td>Commentaire:</td><td>'.$data['comment'].'</td></tr> </table></center></br>'; } $query->closeCursor(); } else { echo'<center>Pas de petit mot gentil encore :)!</center></br>'; } include("./footer.php"); ?>
vous pouvez m'aider?
(ps: je me suis mis à pdo depuis 2/3 jrs)

Avatar de l’utilisateur
Administrateur PHPfrance
Administrateur PHPfrance | 7162 Messages

28 avr. 2016, 22:01

Bonjour
Tu as les n° de ligne dans ton message d'erreur, regarde ta ligne 35... il te manque un tiret
Quand tout le reste a échoué, lisez le mode d'emploi...

Eléphant du PHP | 63 Messages

28 avr. 2016, 22:12

merci de ta réponse
c'est corrigé
mais maintenant
j'ai ça
Fatal error: Call to a member function fetch() on a non-object in /home/u973176086/public_html/contact.php on line 40
là je comprend pas trop
pourtant en regardant des tuto sur pdo il y en a qui faisait comme ça.

SLK
Petit nouveau ! | 8 Messages

05 juin 2016, 00:59

Salut,

Comme tu veux récupérer plusieurs lignes, tu dois utiliser un fetchAll au lieu d'un fetch, à cette ligne :
while($data = $resultat->fetch(PDO::FETCH_ASSOC))

Eléphant du PHP | 63 Messages

28 juil. 2016, 10:27

dsl pour le retard.
merci pour ta réponse.