CLASSE DATABASE POUR CONNECTION ET MODIFICATION D'UNE BDD MYSQL

franco_se Messages postés 151 Date d'inscription samedi 1 novembre 2003 Statut Membre Dernière intervention 30 juillet 2018 - 22 juil. 2007 à 11:36
cs_Lion23 Messages postés 2 Date d'inscription mercredi 3 octobre 2007 Statut Membre Dernière intervention 11 octobre 2007 - 11 oct. 2007 à 12:39
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/43537-classe-database-pour-connection-et-modification-d-une-bdd-mysql

cs_Lion23 Messages postés 2 Date d'inscription mercredi 3 octobre 2007 Statut Membre Dernière intervention 11 octobre 2007
11 oct. 2007 à 12:39
Vu que je suis nouveau dans ce domaine j'ai implémenté ce code et cela marche correctement mais j'ai une petite question à poser, au cas où je voulais créer une classe qui me permettrai de générer du code à partir de n'importe quelle table Mysql que dois je faire? Notons que ce code me permettra d'afficher, modifier ou supprimer la table. Merci
g_barthe Messages postés 27 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 13 mars 2008
21 août 2007 à 20:21
C'est en effet une question.
cs_Aaron Messages postés 116 Date d'inscription lundi 29 juillet 2002 Statut Membre Dernière intervention 19 janvier 2009
16 août 2007 à 18:15
Hello,

G_Barthe -> C'est une question "Pour la remarque du mysql_close() y en a t'il besoin vu que tu as utilisé la fonction __construct($db_host, $db_root, $db_pass, $db_name)." ou une réponse?
g_barthe Messages postés 27 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 13 mars 2008
15 août 2007 à 17:29
Je vais encore rajouter mon grain de sel.

Pour la remarque du mysql_close() y en a t'il besoin vu que tu as utilisé la fonction __construct($db_host, $db_root, $db_pass, $db_name).

Et pour finir, la connexion étant établi sur ma première page, dois-je la réactiver sur la page suivante ou est-elle valable jusqu'à la fermeture de firefox. J'ai un peu de mal sur ces points.

Sinon les premiers tests sont concluants. Ca marche !!!!!!!!!! Merci encore
g_barthe Messages postés 27 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 13 mars 2008
15 août 2007 à 16:30
Euh autre petit truc pourrais tu mettre la source en zip parce que le copié collé prend les numéros de lignes en meme temps et c'est un peu chiant à virer. Ou alors j'ai loupé un truc.

Merci si c'est pas trop demandé bien sur. hihi
g_barthe Messages postés 27 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 13 mars 2008
15 août 2007 à 16:27
Hello,
Cette classe correspond à première vue à ce que je cherchais à faire. J'ai pas tester encore mais c'est en prévision.

Reste à adapter pour les requetes sur plusieurs table mais rien de grave. Je faisais cela avec plusieurs fonctions et cela commencait à devenir lourd. La POO commencait à m'attirer et je crois que la c'est gagné.

Je test et reviens par là si j'ai un pb. Encore merci.
cs_Aaron Messages postés 116 Date d'inscription lundi 29 juillet 2002 Statut Membre Dernière intervention 19 janvier 2009
15 août 2007 à 15:07
Hello,

Est-ce normal qu'il n'y ait pas de "mysql_close()" ?
franco_se Messages postés 151 Date d'inscription samedi 1 novembre 2003 Statut Membre Dernière intervention 30 juillet 2018 2
30 juil. 2007 à 11:32
@ psykocrash: Oui, je sais que réinventer la roue pour la 50 000ème fois, c'est absurde. Mais a la base, je cherchais une classe simple et compacte, qui me permette de me connecter a ma bdd, et ayant des fonction d'ajout, de modification , et suppression , etc, de données. Et comme je n'avais rien trouvé qui me satisfasse, et que l'on n'est jamais mieux servi que par soi meme ...

et sinon, j'ai ajouté l'Exception(mysqlerror()); et arrangé ce count()
cvex Messages postés 14 Date d'inscription mercredi 10 décembre 2003 Statut Membre Dernière intervention 29 juillet 2007
29 juil. 2007 à 01:18
Non désolé, j'ai trouvé pourquoi... OVH dans leur formule d'hébergement mutualisé, lorsqu'il exécute les scripts en PHP avec l'extension .php, il l'interprète avec PHP4. Il suffisait d'utiliser l'extension .php5 pour régler le problème.
cvex Messages postés 14 Date d'inscription mercredi 10 décembre 2003 Statut Membre Dernière intervention 29 juillet 2007
29 juil. 2007 à 01:01
Bonne source avec commentaires.

Cependant, j'ai voulu tester un peu ta source mais j'ai pas réussi à la faire marcher... Je n'y vois pas d'erreur pourtant : Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /classe/mysql.php on line 32
psykocrash Messages postés 240 Date d'inscription vendredi 14 juin 2002 Statut Membre Dernière intervention 17 mars 2009
24 juil. 2007 à 13:53
Ca a l'air sympa. Bon personnellement je trouve complètement inutil de réécrire une Nième classe pour mysql s'il n'y a rien d'innovant/différent par rapport aux autres, mais ce n'est pas le sujet.

Concernant ta clase, y'a juste un truc qui me saute aux yeux (je n'ai pas lu en profondeur mais ça pique ^^) c'est ta fonction make_attributes(). Tu utilises la fonction count() dans ta boucle. Ca veux dire qu'à chaque boucle, elle sera appelée à nouveau pour le même résultat. Stock plutot une bonne fois le résultat dans une variable, ça améliorera les perfs de ta méthode. Ah tant qu'à faire, vérifie que le tableau n'est pas vide avant de l'utiliser.

Autre chose, ne fais pas un die() si une requête ne passe pas, utilise les exceptions ;)

++
franco_se Messages postés 151 Date d'inscription samedi 1 novembre 2003 Statut Membre Dernière intervention 30 juillet 2018 2
22 juil. 2007 à 11:36
merci de me faire par de vos suggestions, car je debute en POO
Rejoignez-nous