Retour des données d'une classe MySQL

Résolu
cs_Jerem_ Messages postés 14 Date d'inscription vendredi 25 juin 2004 Statut Membre Dernière intervention 9 février 2006 - 9 févr. 2006 à 13:22
cs_Jerem_ Messages postés 14 Date d'inscription vendredi 25 juin 2004 Statut Membre Dernière intervention 9 février 2006 - 9 févr. 2006 à 18:00
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

FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
9 févr. 2006 à 15:09
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 !
3
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
9 févr. 2006 à 13:43
Bah, pour récupérer des données d'une base SQL ==> mysql_fetch_row(); mysql_fetch_array(); mysql_fetch_assoc(); mysql_fetch_object();
0
cs_Jerem_ Messages postés 14 Date d'inscription vendredi 25 juin 2004 Statut Membre Dernière intervention 9 février 2006
9 févr. 2006 à 13:44
Oui, mais comment inserer ceci dans ma classe avec une function ?
0
cs_Jerem_ Messages postés 14 Date d'inscription vendredi 25 juin 2004 Statut Membre Dernière intervention 9 février 2006
9 févr. 2006 à 18:00
Ok merci je vais asseyer!
0
Rejoignez-nous