Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
892 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Class de connection MySql

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Class de connection MySql

n°286772
alknon
Posté le 15-01-2003 à 12:51:20  profilanswer
 

Je viens de creer une class Connection qui me permet d'acceder facilement a la bdd, le premier Read() fonctionne correctement mais j'obtient une erreur pour le deuxieme Read():
 
Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in connection.php on line 45
 
index.php

Code :
  1. $conn = new CConnection;
  2. $dr = $conn->Select($sql);
  3. while ($row = $dr->Read())
  4. {
  5. }
  6. $dr->Close();
  7. $conn->Close();


 
connection.php
 

Code :
  1. class CConnection
  2. {
  3. function CConnection()
  4. {
  5.  $base =  "base";
  6.  $bdd =   "bdd";
  7.  $login =  "login";
  8.  $pwd =   "pwd";
  9.  mysql_connect($bdd, $login, $pwd) or die("Erreur de connexion au serveur" );
  10.  mysql_select_db($base) or die("Erreur de connexion a la base de donnees" );
  11. }
  12. function Select($sql)
  13. {
  14.  return new CSqlReader ( mysql_query( $sql ) );
  15. }
  16. function Close()
  17. {
  18.  mysql_close();
  19. }
  20. }
  21. class CSqlReader
  22. {
  23. var $rows;
  24. var $cols;
  25. function CSqlReader( $result )
  26. {
  27.  $this->$rows = $result;
  28. }
  29. function Read()
  30. {
  31.  return $this->$cols = mysql_fetch_array( $this->$rows, MYSQL_ASSOC );
  32. }
  33. function Close()
  34. {
  35.  mysql_free_result( $this->$rows );
  36. }
  37. }

mood
Publicité
Posté le 15-01-2003 à 12:51:20  profilanswer
 

n°286781
ethernal
Chercheur de vérité...
Posté le 15-01-2003 à 13:01:34  profilanswer
 

l'accès aux propriétés d'un objet se fait par  
$this->row et non par $this->$row.
sinon ça veut dire que tu accèdes à la propriété de la valeur de row.
ex:
$row= 'test';
echo $this->$row; ==>> correspond à echo $this->test;
 
comme ton $row n'est pas défini, il fonctionne la première fois par hasard, et la seconde il se plante.

n°287775
Dost67
Posté le 16-01-2003 à 17:04:43  profilanswer
 

Une bonne classe de connexion c'est celle que l'on trouve sur le site de eskuel (voir PHPScripts pour le lien).


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Class de connection MySql

 

Sujets relatifs
Sauvegarde de plusiers bdd mysql en meme tpsPHP/MySql : quel schéma de table pour sys de gestion de docs
Alléger ses requêtes mysqlMySQL password() décrypter ??
[VC++6]Problème de surdéf de pow avec une class BigIntWanadoo et MySQL
Accéder à MySql avec D7 Peronnal Edition[MySQL] Fusionner 2 requêtes en une (MySQL 3.23 only ...)
logiciel pour "tronçonner" une db mysql ?/n, \n <br> ? Recuperer les sauts de lignes avec MySQL/PHP textarea?
Plus de sujets relatifs à : Class de connection MySql


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR