Bonjour,
j'ai une classe qui plante mais je ne comprend pas bien pourquoi ?
warning:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/xaviou/boutiqueObjet/classe_boutique.php on line 34
 
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/xaviou/boutiqueObjet/classe_boutique.php on line 85
appel de la class
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
<?php
include('classe_boutique.php');
$boutique= new Boutique();
$params=array(order=>libel);
$tb = $boutique->tableau_categories($params);
?>
la classe
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
<?php
class Boutique
{
	var $langue='fr';
	// nom de la base
	var $db='boutique';
	// préfixe pour les tables
	var $tablestart='bt_';
	// host ou ip pour la connection de la base
	var $db_host='localhost';
	// user utiliser pour la connection à la base
	var $db_user='root';
	// mot de passe
	var $db_pass='xav';
	// extension pour les images
	var $extension_images='.jpg';
	// mode pour afficher les messages de mise au point, bolléen
	var $debug_mode=1;
	// lien mysql
	var $db_link;
	// adresse email pour le gestionnaire de la boutique
	var $email_admin='artotal@gmail.com';
	// constructeur
	function __construct()
	{
		$this->db_link = mysql_connect($this->db_host, $this->db_user, $this->db_pass);
		if($this->debug_mode && !$this->db_link)
			echo 'erreur de connection <br />'.mysql_error();
	}
	// function pour lancer une requête // $d == $this_$db
	function requete_sql($db, $cde)
	{
		$db_selected=mysql_select_db($db, $this->db_link);
		$result=mysql_query($cde, $this->link);
		if($this->debug_mode && !$this->db_link)
			echo 'erreur de connection <br />'.mysql_error();
 
		return $result;
	}
 
	// fonction retournant le nom d'une table avec son préfixe concaténé
	function nom_table($nom)
	{
		$nom_complet= $this->tablestart.$nom;
		return $nom_complet;
	}
	// fonction permettant de récupérer un tableau de catégories
	function tableau_categories($params='')
	{
		$tb=array();
		$tb1_categories = $this->nom_table('categories');
		// on crée le tableau des paramètres
		if(!is_array($params))
			$params = array();
		// ont initialise la langue par défault définis en varaible d'instance
		if(!is_array($params['langue']))
			$params['langue'] = $this->langue;
		// ordre de tri --- valeur par défault
		if(!is_array($params['order']))
			$params['order'] = $this->code;
		// on récupère tous les champs par défault
		if(!is_array($params['champs']))
			$params['champs'] = '*';
		//
		if(!is_array($params['tables']))
			$params['tables'] = $tb1_categories;
// conditions
		$conditions=array();
		if(strlen($params['langue'])>0)
		{
			$c=$params['langue'];
			$condition[]="AND langue LIKE '$c'";
		}
		if(strlen($params['code'])>0)
		{
			$c=$params['code'];
			$condition[]="AND code LIKE '$c'";
		}
		$cde='SELECT '.$params['champs'].' FROM '.$params['tables'].' WHERE 1';
		// requete SQL --- ordre de tri
		if(strlen($params['order'])>0)
			$cde.='ORDER BY '.$params['order'];
		// requête SQL --- recherche des enregistrements --- et stockage dans un tableau
		$result= $this->requete_sql($this->db, $cde);
		while($ligne=mysql_fetch_array($result, MYSQL_ASSOC))
		{
			$key=$ligne['code'];
			$tb['$key']=$ligne;
		}
		return $tb;
	}
}
?>
Merci