Bonjour,

problème que j'avoue ne pas trop savoir comment qualifier...

- J'ai une page standard (index.php).
- Dans dans cette page j'ai une fonction php "get_infomrations()" qui prend en paramètre un id.
- Dans cette fonction, je lance une requête PDO select standard (que j'ai tester hors fonction et qui fonctionne parfaitement).

Lorsque je lance mon script, il me dit :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
 Fatal error: Call to a member function query() on a non-object in ------- on line ---
- J'ai fait afficher ma requête et testé dans mySql, ça fonctionne, elle est bonne.
- Lorsque je met la ligne "$db = new PDO('mysql:host=localhost;dbname=-----', '----', '----');" directement dans ma fonction , cela fonctionne également.

Mais je ne veux pas avoir à remettre à chaque fois cette ligne pour faire une requete depuis une fonction...

Là, de ce que je comprend, c'est comme si il ne trouvait pas l'objet $db... mais pourquoi ?

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
//index.php
require("_connection.php"); 
 
function get_informations($id_user){
    $requete = "SELECT * FROM ...."; 
    $reqCom = $db -> query($requete);
    $nbCom = $reqCom -> rowCount();
    return $nbCom;
}
 
$nb = get_informations('07','2016', $id_liste_service);
 
echo "<br> NB : ".$nb ;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
// _connection.php
try{
    $db = new PDO('mysql:host=localhost;dbname=-----', '----', '----');
    $db -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
}catch(PDOException $e){ 
    //die('Erreur : '.$e->getMessage());
    echo ('La base de donnée n\'est pas disponible');
}