Probleme avec un script php pdo
Résolu
Physiol
Messages postés
79
Date d'inscription
Statut
Membre
Dernière intervention
-
Physiol Messages postés 79 Date d'inscription Statut Membre Dernière intervention -
Physiol Messages postés 79 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Voilà c'est mon script et je rencontre des difficultés je n'ai aucun resultat
EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Merci d'y penser dans tes prochains messages.
.
Voilà c'est mon script et je rencontre des difficultés je n'ai aucun resultat
<html> <body> <?php if (isset($_POST['Numolice'])){ $Numolice = $_POST['Numolice']; try { $bdd = new PDO('mysql:host=localhost;dbname=x2012;charset=utf8', 'root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)); } catch(Exception $e) { die('Erreur : '.$e->getMessage()); } $reponse = $bdd-> prepare('SELECT Numpolice,Commentaire FROM ezod Like :Numolice ORDER BY id DESC '); $donnees = $reponse->fetch(); echo $donnees['Numpolice']; echo $donnees['Commentaire']; $reponse->closeCursor(); // Termine le traitement de la requête } ?> </body> </html>
EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Merci d'y penser dans tes prochains messages.
.
A voir également:
- Probleme avec un script php pdo
- Script vidéo youtube - Guide
- Easy php - Télécharger - Divers Web & Internet
- Mas script - Accueil - Windows
- Ghost script - Télécharger - Polices de caractères
- Expert php pinterest - Télécharger - Langages
3 réponses
Bonjour,
Entre le prepare... et le fetch ... il te manque le EXECUTE... et l'array de parametres....
... au passage ... n'écrit pas le code de connexion directement dans ton script ... mais place le dans un fichier à part que tu n'auras qu'à inclure dans tes pages....
et dans ton code.. pour l'inclure ..
Entre le prepare... et le fetch ... il te manque le EXECUTE... et l'array de parametres....
$sql = "SELECT Numpolice,Commentaire FROM ezod Like :Numolice ORDER BY id DESC "; $params = array(":Numolice"=> $Numolice ); $reponse = $bdd-> prepare($sql); $reponse->execute($params); $donnees = $reponse->fetch();
... au passage ... n'écrit pas le code de connexion directement dans ton script ... mais place le dans un fichier à part que tu n'auras qu'à inclure dans tes pages....
//Fichier cnxBDD.php <?php try{ $bdd = new PDO('mysql:host=localhost;dbname=x2012;charset=utf8', 'root', '', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)); }catch(Exception $e){ die('Erreur : '.$e->getMessage()); } ?>
et dans ton code.. pour l'inclure ..
<?php require_once('cnxBDD.php'); ?> <html> <body> <?php if (isset($_POST['Numolice'])){ $Numolice = $_POST['Numolice']; // le reste de ton code ...
Vu que c'est une recherche exacte que tu veux faire .. n'utilises pas LIKE .. mais (=) EGALE
De plus... il manque un WHERE dans ta requête....
De plus... il manque un WHERE dans ta requête....
$sql = "SELECT Numpolice,Commentaire FROM ezod WHERE Numpolice=:Numolice ORDER BY id DESC ";
A la place d'un fetch .. tu peux utiliser un fecthall ...
ce qui stockera le résultat dans un ARRAY....
Ensuite.. tu n'auras plus qu'à boucler dessus à l'aide d'un foreach par exemple.
EDIT : Correction requete
EDIT2 : Correction ; manquant ligne 12
ce qui stockera le résultat dans un ARRAY....
Ensuite.. tu n'auras plus qu'à boucler dessus à l'aide d'un foreach par exemple.
$sql = "SELECT Numpolice,Commentaire FROM ezod WHERE Numpolice=:Numolice ORDER BY id DESC "; $params = array(":Numolice"=> $Numolice ); $reponse = $bdd-> prepare($sql); $reponse->execute($params); $donnees = $reponse->fetchall(); // Affichage des resultats dans un tableau echo "<table>"; echo "<thead><tr><th> Num. </th><th>Commentaire</th></tr></thead>"; echo "<tbody>"; foreach($donnees as $R){ echo "<tr>"; echo "<td>".$R['Numpolice']."</td>"; echo "<td>".$R['Commentaire']."</td>"; echo "</tr>"; } echo "</tbody></table>";
EDIT : Correction requete
EDIT2 : Correction ; manquant ligne 12
j'ai toutefois ce message d'erreur je ne vois pas à quelle erreur mysql il peut correspondre
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'Like '0001'' at line 2' in C:\wamp\www\search\zebra.php on line 23