Bonjour, j'ai crée une fonction qui exécute mes requêtes sur les tables de la BDD avec de paramètres. En local, tous se passe bien mais lorsque j'envoi mes fichiers sur le serveur j'ai ce message d'erreur:
Fatal error: Call to a member function prepare() on a non-object in /
=(fonction prepare() appliquée sur un non objet).
Je n'arrive à dégguer le script.

Script php fonction
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
function query($table, $champ = null, $filtre = null, $valFiltre = null, $idArt, $order = null, $premier = null, $dernier = null){
 
	 //Incluson de la connexion à la BDD
	  require('dbConnect/config.php');
 
	  //Si aucun chacun champ n'es défni on affiche tous
	  if((isset($champ)) && ($champ == "")){ $champ = '*'; }
 
	  //On prepare la requete de base
	  $sql = "SELECT ".$champ." FROM ".$table."";
 
	  //Si une clause where a ete créer alors......
	  if($filtre != ""){
		  $sql .= " WHERE statut = '1' AND corbeille = '0 '";
	  }
 
	  if(($filtre != null) && ($filtre != "")){
		  $sql .= " AND ".$filtre." = ".$valFiltre;
	  }
 
	  if($order != "" && $order != null){
		  $sql .= " ORDER BY ".$idArt." ".$order;
	  }
 
	  if(($premier != null) || ($dernier != null)){
		  $sql .= " LIMIT ".$premier.", ".$dernier;
	  }
	  //On execute la requête
	  $sql = $connect_db->prepare($sql);  //prepare pas total:calim2:
	  $sql->execute();
 
	  //On retourne les données sous forme de tableau
	  while($data = $sql->fetch(PDO::FETCH_OBJ)){
		  $tb[] = $data;
	  }
 
	  return $tb;
}
Appel de la fonction

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 $table = "ma_table"; 
  $champ = "*"; 
  $filtre = "idFiltre"; 
  $valFiltre = "valeur_filtre"; 
  $idArt = "id_ma_table";
  $order = "DESC"; 
  $premier = 0; 
  $dernier = 1;
  $data1erActu = query($table, $champ, $filtre, $valFiltre, $idArt, $order, $premier, $dernier);
Le script n'est très fin mais j'ai un gain de temps avec

Script de connexion à la BDD
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
//Connexion à la base de données
try {
	$dns = 'mysql:host=localhost;dbname=bd_name';
	$user = 'root';
	$password = '';  
	$connect_db = new PDO ($dns, $user, $password);
	$connect_db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
	$option = array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8",
          PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
          PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_OBJ);
} 
catch (Exception $e) {
	echo "<h1>Connection au serveur impossibe, erreur:".$e->getMessage()."</h1>";
	die();
}
?>
Comment parfaire ma fonction?