Question bete, ma class mysql

Répondre
Dark Elf
le 14/08/2005 à 23:41
Dark Elf
Bonjour à tous,

Si je dis "question bête", c'est que j'ai déjà utilisé cette classe (enfin, pas celle ci, mais quasiment la même) sans probleme..

Je dois être mal fatigué et ça doit être très bête smiley

Quoi qu'il en soit :

class mysql {

public $host ;
public $user ;
public $pass ;
public $query ;

function __construct($host,$user,$pass,$base){
$this->host = $host;
$this->user = $user;
$this->pass = $pass;
$this->base = $base;
$connect = mysql_connect($host,$user,$pass);
mysql_select_db($base,$connect);
}

function sql($sql){
$this->query = $sql;
mysql_query($this->query,$connect);
}

function tab(){
return mysql_fetch_array($this->sql);
}

function nb(){
return mysql_num_rows($this->sql);
}

function __destruct(){
mysql_close($connect);
}

}

$connection = new mysql('localhost','root','','projet');


J'obtiens :

Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in c:\wamp\www\webmastering\config.php on line 36


Merci d'avance (ça fait longtemps que je n'étais plus venu ici :)

Edit : J'ajoute que sur une des pages ou j'utilise la classe (et où je fais des requetes), l'erreur est :

Fatal error: Call to a member function sql() on a non-object in c:\wamp\www\webmastering\admin_news.php on line 43

Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in c:\wamp\www\webmastering\config.php on line 36
HELLSPLAYERS FOREVER
LA GLOBULE
le 14/08/2005 à 23:54
LA GLOBULE
Fatal error: Call to a member function sql() on a non-object in c:\wamp\www\webmastering\admin_news.php on line 43


Une classe, c'est fait pour construire des objets, par conséquent, applique tes méthodes de classe à un e instance de cette classe (l'objet) et non à un autre type de varaible.

Warning: mysql_close(): supplied argument is not a valid MySQL-Link resource in c:\wamp\www\webmastering\config.php on line 36


Dans ta classe, on ne sait pas ce qu'est $connect : ce n'est ni un attribut de ton objet ni une globale.
Dark Elf
le 15/08/2005 à 00:17
Dark Elf
En effet...J'ai fait quelques bourdes là..

<?PHP 
/*------------------------------------------------------------+
+------------------------ Classes --------------------------/
+----------------------------------------------------------*/

class mysql {

public $host ;
public $user ;
public $pass ;
public $query ;
public $connect;

function __construct($host,$user,$pass,$base){
$this->host = $host;
$this->user = $user;
$this->pass = $pass;
$this->base = $base;
$this->connect = mysql_connect($host,$user,$pass);
mysql_select_db($base,$this->connect);
}

function sql($sql){
$this->query = $sql;
mysql_query($this->query,$this->connect);
}

function tab(){
return mysql_fetch_array($this->sql);
}

function nb(){
return mysql_num_rows($this->sql);
}

function __destruct(){
mysql_close($this->connect);
}

}

$mysql = new mysql('localhost','root','','projet');
?>


Tout marche nickel, merci ;)
(j'étais bel et bien fatigué :D)
HELLSPLAYERS FOREVER
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours