Flashmx2004 class sql (mysql & access) v5.5 (avec php)

Soyez le premier à donner votre avis sur cette source.

Vue 19 840 fois - Téléchargée 3 493 fois

Description

Salut,

Voici une nouvelle version de ma Class MySql, qui devient la Class Sql.
Connectez vous maitenant a une source de données MySql ou Access (attention dns enregistrer)
J'ai ajouter aussi une méthode 'format' ds la class pour encodé les chaine de caractère passé dans une requette, cette méthode vous permet d'evidé des problemes d'encodage sur des caratères comme %, ' et ".
le décodége et automatique lors que la recupération des resultat.

Pour interroger un server MySql ou une base access depuis FlashXM2004, en utilisant un script php.
Aucune modification a apporter au script php.

Utilisation simple :
1) on creer un objet MySql
2) on definie une fonction pour traiter le retour de données (class ResultSet incluse)
3) on execute une commande sql.

2 fonctions utils, 1 pour lister les bases de données sur le serveur, et 1 pour lister les tables ('show tables') d'une base de donnée.

Ce code est bien sur libre de droit, modifier le à volonté, mais se serait cool de me tenir au courant d'evolutions importantes et interressantes ... :)

Source / Exemple :


y'a un exemple dans le zip en plus de ceci :

// Importer les class
import Class.Sql;

// créer un nouvel objet Sql
var sql:Sql = new Sql("http://localhost/_FlashPhp/sql.php");  // ou en chemin relatif bien sur Sql("sql.php");
sql.showtime = true;

// tout d'abord les données de connexion
sql.type = "odbc"; 	// mysql ou odbc.
sql.host = "localhost"; // uniquement pour mysql
sql.login = "root";
sql.mdp = "";

// ensuite la base de donnée a selectionner
//sql.dbname = "test"; 		//mysql test
sql.dbname = "FlashSqlODBC"; 	//odbc test

// ensuite definisez la méthode d'analyse de retour serveur :
sql.onResult = function(rs){
    if (rs.isError()){
        trace rs.getError();
        return;
    }
    ...
    votre code
    ...
}

// puis invoqué une methode pour le serveur, soit un requette sql, soit une des 2 fonctions listeBases, listeTables
sql.listeDB(); 		// lister les base du server mysql uniquement
sql.listeTables(); 	// lister les tables d'un db
sql.execute ("select * from test1");

// utiliser sql.format(string) pour formater du text pour transmission http
var q = "insert into table1 (login) values ('";
q += sql.format("c'est + - * / = comment ?\"racontes % moi");
q += "')";
sql.execute(q);
// q est alors egal à : insert into table1 (login) values("c& &pl; * / = comment ? &damp; racontes &pc; moi");

// lors du retour de resultats, utiliser la methode onResult(rs), rs etat les resultset renvoyé et parsé.
// ResultSet comporte les proprietes suivantes :
rs.rowCount > nb resultats
rs.columnCount > nb colonnes
rs.columnNames > tableau contenant les entetes du resultat
rs.columnTypes > renvois un tableau des types de champ de la base
rs.getRow(numRow) > renvois la ligne de resultat demandé (ss forme de tableau)

Conclusion :


je pense que j'ai a peu pres tt mis ...
Bon developpement ...
Pensez a me proposer vos idées d'améliorations possible, bug constatés, ...
contact mail : benjamin@kolapsis.net

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

_benjy
Messages postés
1575
Date d'inscription
vendredi 23 avril 2004
Statut
Membre
Dernière intervention
21 février 2011
2
j'avoue qu'elle soit completement ouverte c'est pas top, mais pour ma défence à l'epoque ou je l'ai faite, il n'y avait qu'un décompileur qui fonctionné, et perso je re-encodais mes swf avec swfencode (ce qui rendez la décompilation impossible)...
mais il est clair que c'est surtout les info de connexion à la db dans le swf qui crainent, now moi je les met plus dans le swf mais juste dans php (que lui on peu pas recup)...
pour finir pas de prob de delete ou autre alter sur mes tables parce que j'ai tjs plusieur user sur mes base de données, dont 1 pour flash qui fait que la lecture...
voilou voilou
++
gfpl
Messages postés
172
Date d'inscription
samedi 11 août 2012
Statut
Membre
Dernière intervention
9 avril 2011

SuperDevy c'est a titre de demo pour montrer comment faire une requete entre flash sql php

tu peut prendre ces info depuis php ;)
SuperDevy
Messages postés
842
Date d'inscription
dimanche 24 novembre 2002
Statut
Membre
Dernière intervention
2 juillet 2007

C'est du suicide cette source !
1. Login/mdp de la base de données sont accessibles par n'importe qui (une simple décompilation et hop)
2. Elle permet de faire n'importe quelle requête par n'importe qui. "DELETE FROM xxx" par exemple ...

Faut vraiment être fou pour l'utiliser sur un site internet.
_benjy
Messages postés
1575
Date d'inscription
vendredi 23 avril 2004
Statut
Membre
Dernière intervention
21 février 2011
2
ouaip voilà, plutot que de faire la fete je vais rester et préparer ca... puis quoi encore LOL
proffial
Messages postés
35
Date d'inscription
mardi 20 mai 2003
Statut
Membre
Dernière intervention
23 juillet 2009

;-) ca tombe bien, je paris que tu ne savais pas quoi faire de ton premier janvier ;-)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.