Extension PDO
Résolu
troubadour2
Messages postés
277
Date d'inscription
Statut
Membre
Dernière intervention
-
troubadour2 Messages postés 277 Date d'inscription Statut Membre Dernière intervention - 1 août 2011 à 14:18
troubadour2 Messages postés 277 Date d'inscription Statut Membre Dernière intervention - 1 août 2011 à 14:18
A voir également:
- Extension PDO
- Changer extension fichier - Guide
- Extension dat - Guide
- Extension .bin - Guide
- Extension 7z - Guide
- Extension odt - Guide
20 réponses
je sais pas ce qu'il y a entre tes parenthèses alors voila comment je fait :
// force la conection en utf-8 $option = array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"); $pdo = new PDO('mysql:host=' . HOTE_BASE . ';dbname=' . NOM_BASE, USER_BASE, PASS_BASE, $option);
ca sert a rien de coller ces 30 lignes, bref
1/ tu instancie ton objet PDO
2/ tu cree ta requete
3/ tu la passe dans ton objet
1:
$pdo = new tonObjet_PDO;
2:
$sql = "select * from ta_table";
3:
$tableau_retourné = $pdo->query($sql)->fetchAll(PDO::FETCH_ASSOC);
voila un exemple ultra grossier
1/ tu instancie ton objet PDO
2/ tu cree ta requete
3/ tu la passe dans ton objet
1:
$pdo = new tonObjet_PDO;
2:
$sql = "select * from ta_table";
3:
$tableau_retourné = $pdo->query($sql)->fetchAll(PDO::FETCH_ASSOC);
voila un exemple ultra grossier
Bonjour et merci hervé56,
Je vois que tu es toujours fidèle c'est génial.
En fait pour qu'on puisse m'expliquer j'ai toujours l'impression qu'il faut mettre un maximum de code.
Ok je vais essayer de comprendre tes explications et me mettre à l'oeuvre.
A+
Je vois que tu es toujours fidèle c'est génial.
En fait pour qu'on puisse m'expliquer j'ai toujours l'impression qu'il faut mettre un maximum de code.
Ok je vais essayer de comprendre tes explications et me mettre à l'oeuvre.
A+
Bonjour
Tu peux me dire ce qui ne va pas s'il te plait "ligne d'erreur".
Tu peux me dire ce qui ne va pas s'il te plait "ligne d'erreur".
$bdd = new PDO(.........); $sql = "SELECT * FROM menu WHERE Id_page = :id_page"; $resultat = $bdd->prepare($sql); $resultat->execute(array(":id_page" => $_ENV["id_page"])); $tabl_result = $bdd->query($resultat)->fetchAll(PDO::FETCH_ASSOC);
Notice: Undefined variable: bdd in D:\EasyPHP-5.3.3.1\www\site_clique\fonction\fonction.php on line 66 Fatal error: Call to a member function prepare() on a non-object in D:\EasyPHP-5.3.3.1\www\site_clique\fonction\fonction.php on line 66
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ben en fait je n'ai pas trouvé la ligne dans le fichier php.ini
extension=php_pdo.dll
il y a juste celle-ci
extension=php_pdo_mysql.dll
extension=php_pdo.dll
il y a juste celle-ci
extension=php_pdo_mysql.dll
entre mess parentheses il y a la connexion à ma BDD que je n'ai pas mis.....
pour ne pas surcharger le post...
malheureusement ça ne veux toujours pas fonctionner.
Merci de ton aide
pour ne pas surcharger le post...
malheureusement ça ne veux toujours pas fonctionner.
Merci de ton aide
essaie sur ton serveur si t'en a un
pask ca doit marcher, ca vien surement d'easy php
essaie de regarder en faisant un phpinfo()
pask ca doit marcher, ca vien surement d'easy php
essaie de regarder en faisant un phpinfo()
y a pas 50 solutions, si tu initialise un objet PDO et que tu lui passe une bonne requete ca doit marcher, a part si easyphp n'accepte pas nativement le PDO
Bonjour
Voilà j'ai initialisé mon objet PDO ça c'est bon.
Je voudrais utiliser la methode "binParam()" avec les fameuses requètes préparées.
Par contre ma connexion à ma BDD est dans un fichier externe.
Peux tu me donner quelques infos pratique sur le net c'est quelque peu flou les explications, enfin pour moi puisque je commence avec PDO.
je te remercie.
Voilà j'ai initialisé mon objet PDO ça c'est bon.
$bdd = new PDO('mysql:host=' . $PARAM_hote . ';dbname=' . $PARAM_nom_bdd, $PARAM_utilisateur, $PARAM_mot_passe);
Je voudrais utiliser la methode "binParam()" avec les fameuses requètes préparées.
Par contre ma connexion à ma BDD est dans un fichier externe.
Peux tu me donner quelques infos pratique sur le net c'est quelque peu flou les explications, enfin pour moi puisque je commence avec PDO.
je te remercie.
déja essaie de faire une requete toute conne pour voir si ca marche
$sql = "SELECT * FROM ta_table"; $resultat = $pdo->query($sql)->fetchAll(PDO::FETCH_ASSOC); print_r($resultat);
je peut pas te faire un cour coomme ca sans rien, essaie de toi meme et revien avec le probleme que tu rencontre plutot :)
pourquoi si je rajoute un WHERE ça me génére une erreur?
$sql = "SELECT * FROM menu WHERE Id_page = :id_page";
$resultat = $bdd->query($sql)->fetchAll(PDO::FETCH_ASSOC);
Fatal error: Call to a member function fetchAll() on a non-object in
$sql = "SELECT * FROM menu WHERE Id_page = :id_page";
$resultat = $bdd->query($sql)->fetchAll(PDO::FETCH_ASSOC);
Fatal error: Call to a member function fetchAll() on a non-object in
Salut.
Ta requête est écrite comme si c'était une requête préparée.
Il faut que tu utilises la méthode prepare() de PDO. Ou alors que tu remplace :id_page par l'identifiant.
Ou alors :
Pour éviter les erreurs "Fatal error: Call to a member function fetchAll() on a non-object", utilises rowCount() pour vérifier que la requête retourne bien quelque chose.
Ta requête est écrite comme si c'était une requête préparée.
Il faut que tu utilises la méthode prepare() de PDO. Ou alors que tu remplace :id_page par l'identifiant.
$sql = "SELECT * FROM menu WHERE id_page = :id_page"; $resultat = $bdd->prepare($sql); $resultat->execute(array(':id_page' => 2)); if($resultat->rowCount()) { var_dump( $resultat->fetchAll(PDO::FETCH_ASSOC) ); }
Ou alors :
$sql = "SELECT * FROM menu WHERE id_page = 2"; $resultat = $bdd->query($sql); if($resultat->rowCount()) { var_dump( $resultat->fetchAll(PDO::FETCH_ASSOC) ); }
Pour éviter les erreurs "Fatal error: Call to a member function fetchAll() on a non-object", utilises rowCount() pour vérifier que la requête retourne bien quelque chose.
Bonjour
Merci pour vos explications je vais regarder tout ça.
Merci encore et je vous tiens au courant.
Merci pour vos explications je vais regarder tout ça.
Merci encore et je vous tiens au courant.
Merci pour tout rien ne va ça m'ennuie de rester comme ça.
Pouvez-vous encore me donner quelques explications.
Je vous remercie.
avec ce code ça me retourne rien
par contre si j'execute comme ça ça me retourne bien mes valeurs
Pouvez-vous encore me donner quelques explications.
Je vous remercie.
avec ce code ça me retourne rien
$sql = "SELECT * FROM menu WHERE id_page = :id_page"; $resultat = $bdd->prepare($sql); $resultat->execute(array(':id_page' => $_ENV['id_page'])); if($resultat->rowCount()) { var_dump( $resultat->fetchAll(PDO::FETCH_ASSOC) ); }
par contre si j'execute comme ça ça me retourne bien mes valeurs
$resultat->execute(array(':id_page' => 3));
Bonjour
Mon tableau associatif de variable que j'ai passé avec la méthode d'environnement $_ENV
En fait j'ai passé mes variables dans une fonction avec une variable superglobale
au début de mon script.
j'ai une erreur sur cette fonction qui me dit que $bdd n'est pas initialisée
voici l'erreur
pourtant j'ai fait
Merci
Mon tableau associatif de variable que j'ai passé avec la méthode d'environnement $_ENV
En fait j'ai passé mes variables dans une fonction avec une variable superglobale
au début de mon script.
j'ai une erreur sur cette fonction qui me dit que $bdd n'est pas initialisée
voici l'erreur
Notice: Undefined variable: bdd in D:\EasyPHP-5.3.3.1\www\mon_site\fonction\fonction.php on line 92
function affiche_menu($idpage) { $sql = 'SELECT * FROM menu WHERE Id_parent = :id_page'; $resultat = $bdd->prepare($sql); $resultat->execute(array(':id_page' => $idpage)); $donnees = $resultat->fetchAll(); if (mysql_num_rows($resultat) == 0) { $sql = 'SELECT 'Id_page', 'Titre' FROM 'menu' WHERE 'Id_parent' = '.$_ENV['id_parent']; $resultat = $bdd->prepare($sql); $resultat->execute(array(':id_page' => $_ENV['id_parent'])); $donnees = $resultat->fetchAll(); } $menu_retour = '<ul>'; while ($resultat = mysql_fetch_array($donnees)) { $menu_retour .= '<li>'; $menu_retour .= '<a href="index.php?id_page='.$donnees['Id_page'].'">'; $menu_retour .= $donnees['Titre']; $menu_retour .= '</a>'; $menu_retour .= '</li>'; } $menu_retour .= '</ul>'; return $menu_retour; } ?>
pourtant j'ai fait
$bdd = new PDO('mysql:host=' . $PARAM_hote . ';dbname=' . $PARAM_nom_bdd, $PARAM_utilisateur, $PARAM_mot_passe);
Merci