[PDO]Call to a member function prepare()
Résolu
leptitjeune
Messages postés
70
Date d'inscription
Statut
Membre
Dernière intervention
-
leptitjeune Messages postés 70 Date d'inscription Statut Membre Dernière intervention -
leptitjeune Messages postés 70 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je suis en train de réaliser un site en PHP et j'utilise également PDO pour travailler avec une base de donner.
Le problème est que j'ai un message d'erreur qui s'affiche :
Fatal error: Call to a member function prepare() on a non-object in /home/users/00/16/f6/home/www/projet_2/includes/haut.php on line 73
Voici le code des lignes 73 à 81 :
Comment résoudre ce problème ?
Merci de votre aide
je suis en train de réaliser un site en PHP et j'utilise également PDO pour travailler avec une base de donner.
Le problème est que j'ai un message d'erreur qui s'affiche :
Fatal error: Call to a member function prepare() on a non-object in /home/users/00/16/f6/home/www/projet_2/includes/haut.php on line 73
Voici le code des lignes 73 à 81 :
try { $bdd = new PDO('mysql:host=xxxxxxx;dbname=xxxxxxxx', xxxxxxx, xxxxxxxxxxxxxx); } catch (Exception $e) { die('Erreur : ' . $e->getMessage()); } $req1 = $bdd->prepare('INSERT INTO forum_whosonline(online_id, online_time, online_ip) VALUES(:id, :time, :ip) ON DUPLICATE KEY UPDATE online_time = :time , online_id = :id') or die(print_r($bdd->errorInfo())); $req1->execute(array( 'id' => $id, 'time' => time(), 'ip' => $ip ));
Comment résoudre ce problème ?
Merci de votre aide
A voir également:
- Call to a member function prepare() on string
- Qwerty to azerty - Guide
- Video to video - Télécharger - Conversion & Codecs
- Majuscule to minuscule - Guide
- A link to the past - Accueil - Guide jeu vidéo
- Mb to mo ✓ - Forum Matériel & Système
4 réponses
Bonjour,
je viens enfin de comprendre d'où venait mon problème. :-°
j'ai créer une fonction pour me connecté à ma base de donnée sans avoir besoin de tout retapé :
En fait, j'avais oublier de retourné la valeur de <?php $bdd ?> .
J'ai donc rajouté <?php return $bdd; ?> .
Comme quoi, il ne faut pas toujours cherché très loin.
Merci à tous de m'avoir aider à résoudre mon problème.
je viens enfin de comprendre d'où venait mon problème. :-°
j'ai créer une fonction pour me connecté à ma base de donnée sans avoir besoin de tout retapé :
<?php function connexionbdd($bd_nom_bd) { //Définition des variables de connexion à la base de données $bd_nom_serveur='xxxx'; $bd_login='xxxx'; $bd_mot_de_passe='xxxxx'; try { $bdd = new PDO('mysql:host='.$bd_nom_serveur.';dbname='.$bd_nom_bd, $bd_login, $bd_mot_de_passe); } catch(Exception $e) { die('Erreur : '.$e->getMessage()); } }?>
En fait, j'avais oublier de retourné la valeur de <?php $bdd ?> .
J'ai donc rajouté <?php return $bdd; ?> .
Comme quoi, il ne faut pas toujours cherché très loin.
Merci à tous de m'avoir aider à résoudre mon problème.
Tu n'as pas correctement instancié PDO.
Et le "or die" on s'en passerait bien, PDO permet l'affichage des erreurs via des exceptions (try ... catch).
Et le "or die" on s'en passerait bien, PDO permet l'affichage des erreurs via des exceptions (try ... catch).
Bonjour et merci de votre réponse,
si vous parler de ce morceau de code que j'ai omis de poster, je ne vois pas où est le problème :
Merci de votre réponse
si vous parler de ce morceau de code que j'ai omis de poster, je ne vois pas où est le problème :
try { $bdd = new PDO('mysql:host='.$bd_nom_serveur.';dbname='.$bd_nom_bd, $bd_login, $bd_mot_de_passe); $bdd->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION ); } catch(Exception $e) { die('Erreur : '.$e->getMessage()); }
Merci de votre réponse