Pb d'utilisation de MySql
	
	
		bonsoir à la communauté PHP,
voilà je travail sur une classe qui utilise des commandes MySql et j'ai un petit problème à l'utilisation.
Voici d'abord mon code pour qui voudra bien m'aider.
	Code:
	
| 12
 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
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
 105
 106
 107
 
 |  
<?
class MonSql {
	private $bdd;   /* Base de données              */
   	private $host;  /* Hote (localhost en principe) */
   	private $user;  /* Utilisateur                  */
   	private $pass;  /* Mot de passe                 */
	private $nb;
	private $arguments;
	private $resultat;
	private $resultats;
	private $monChamp;
	private $maTable;
 
	public function __construct() {
	   $this->nb = func_num_args();
       $this->arguments = func_get_args();	 
 
	   $this->bdd   = $this->arguments[0];
	   $this->host  = $this->arguments[1];
	   $this->user  = $this->arguments[2];
	   $this->pass  = $this->arguments[3];
	}
 
	public function select($champDeTable, $table) {
		$this->monChamp = $champDeTable;
		$this->maTable = $table;
		// Ici on éclate $nombdreDeChampsDeTables en autant de champs que cette variable en contient
		$nombdreDeChampsDeTables = explode(",", $champDeTable);
 
		/* Connexion et sélection de la base */    
   		$link = mysql_connect($this->host, $this->user, $this->pass) or die("Echec de la connection... Appelez l'administrateur de la base...");    
		mysql_select_db($this->bdd) or die("Echec à la selection de la base... Appelez l'administrateur de la base...");    
		$query = "SELECT " . $champDeTable . " FROM " . $table;
		$this->resultat = mysql_query($query) or die("la requete a échoué ... ");
 
		$result = $this->resultat;  
 
		// On conserve au cas où ...
		//
 
 
		// On teste ici si $nombdreDeChampsDeTables contient un seul champ et pas *
		// en fait on fait un select sur un seul champ
		//
		if ((sizeof($nombdreDeChampsDeTables) == 1) && ($nombdreDeChampsDeTables[0] != "*")) {
			/* Recupération de la liste dans une variable */   
			$i = 0;
			while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {  
				$i = $i + 1;	   
				foreach ($line as $col_value) {
					$this->resultats[$i-1] = $col_value;
				}
			}
		}
		// Sinon on fait un select multi critère et on va chercher automatiquement le nom
		// des champs et l'information qui est dans le champ
		// 
		else {
			if ($result = mysql_query($query)) {	
				$i = 0;
				$this->resultat = $result;
				echo " !!!!!!!!!!!!!!!!!!!!";		
				while ($line = mysql_fetch_assoc($result)) {  
					$limit = mysql_num_fields($result);
					$i++;
					for ($j = 0; $j < $limit; $j++) { 
						$name = mysql_field_name($result, $j);
						$this->resultats[$i-1] = $this->resultats[$i-1] . $line[$name];	
					}
				}
			}			
		}
 
		/* Libération des résultats */    
		mysql_free_result($result);    
 
		/* Fermeture de la connexion */    
		mysql_close($link);	
	}
 
	public function donneResultat() {	
		return $this->resultats;			
	}	
 
	public function affiche() {
		?>
		<table ALIGN="center" border="1"cellspacing="2" cellpadding="2">
      	<?
		while ($line = mysql_fetch_assoc($this->resultat)) {  
	   		echo "<tr>";
			for ($j = 1; $j <= mysql_field_name($this->resultat); $j++) {
		    	$k++;
				$name = mysql_field_name($this->resultat, $j);
				echo "<td align=LEFT>";
				echo $line[$name];
				echo "</td>";
			}
			echo "</tr>";
	   	}
	   	?>
       	</table>
		<?	
	}	
}	
 
?> | 
 
Ensuite son utilisation :
	Code:
	
| 12
 3
 4
 
 |  
$requete1 = new MonSql("AnciensDiplomes","localhost","root","");
$requete1->select("*","etudiant");
$requete1->affiche(); | 
 
Enfin l message d'erreur :
	Code:
	
| 12
 3
 
 |  
!!!!!!!!!!!!!!!!!!!! 
Warning: mysql_fetch_assoc(): 7 is not a valid MySQL result resource in c:\wamp\www\Z Test6\MonSql.php on line 89 | 
 Si quelqu'un peut me donner son avis. En fait après avoir 
fait $requete1->select("*","etudiant") je m'attends à pouvoir utiliser 
correctement mysql_field_name($this->resultat).
Merci de vos lumières.