Retour des données d'une classe MySQL [Résolu]

Signaler
Messages postés
14
Date d'inscription
vendredi 25 juin 2004
Statut
Membre
Dernière intervention
9 février 2006
-
Messages postés
14
Date d'inscription
vendredi 25 juin 2004
Statut
Membre
Dernière intervention
9 février 2006
-
Salut,



Depuis ce matin, j'asseye de coter une classe MySQL pour mon site.

La classe marche très bien quand je fait une requete INSERT, etc ..



Mais je ne parvient pas à reprendres les données quand je fait une requete de type SELECT ..



Voila mon script, si vous savez me dire ce qui cloche



<?



class base_mysql {



function connect() // Connection à la base de donée

{

$db = mysql_connect("xxx", "xxx", "xxx");

mysql_select_db("xxx",$db);

}



function query($sql) // requete sql

{

$req = mysql_query($sql) or die("Erreur MySQL.");

}



function close() // fermeture de la connection sql

{

mysql_close();

}

}



?>



Merci d'avance !

4 réponses

Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
3
Regarde les scripts de classes PHP pour base de donnée !
Voila ce que ca donne version light !

class mysql {

private $host = 'localhost';
private $user = 'root';
private $passwd = '';
private $db_name = 'basename';

private $link;

public $query;

public function __construct() {
$this->link = mysql_connect($this->host, $this->user, $this->passwd) or die (mysql_error());
mysql_select_db($this->db_name, $this->link);
}

public function query($sql) {
$this->query = mysql_query($sql) or die ( mysql_error() );
}

public function fetch_array() {
return mysql_fetch_array($this->query);
}

public function fetch_row() {
return mysql_fetch_row($this->query);
}

public function numrows() {
return mysql_numrows($this->query);
}

public function __destruct() {
if ( isset($this->link) ) {
mysql_close();
unset($this->link);
}
}

}

Voila une classe "de base" type pour mysql. Maintenant pour l'utiliser :

$mysql = new mysql;
$mysql->query('SELECT xxx FROM ta_table WHERE x = '.$machin.);
echo $mysql->numrows(); // Affichera le nombre d'enregistrements
while ( $data = $mysql->fetch_array() ) {
echo $data['xxx'];
}

Bref comme avant.
La classe que tu as fait toi n'exploite rien de l'orienté objet (remarque, moi pas trop non plus mais c'est un truc de base).
Voila par quoi tu dois commencer.

Mais lis les autres scripts de connections SQL, tu va en apprendre beaucoup comme ca !
Messages postés
2350
Date d'inscription
mercredi 13 octobre 2004
Statut
Membre
Dernière intervention
18 avril 2015
3
Bah, pour récupérer des données d'une base SQL ==> mysql_fetch_row(); mysql_fetch_array(); mysql_fetch_assoc(); mysql_fetch_object();
Messages postés
14
Date d'inscription
vendredi 25 juin 2004
Statut
Membre
Dernière intervention
9 février 2006

Oui, mais comment inserer ceci dans ma classe avec une function ?
Messages postés
14
Date d'inscription
vendredi 25 juin 2004
Statut
Membre
Dernière intervention
9 février 2006

Ok merci je vais asseyer!