Projet exemple de PHP4WD.
[Version mobile pour android]
voici la classe pour android :
PHP4WM - 7.0.0.1[6.0.0.1]
modification des methodes pour optimisation (mySQLExec, cryptage)
suppression de extraitchaine qui ralenti beaucoup sur le Exec par des position (gain de 30 a 50 % de temps)
Bug sur methode zip + crypteRetour reglé . les mode sont maintenant tous valident et fonctionnent parfaitement
[5.0.0.5]
mise a jour des script pour eviter les message d'erreur et warning sur les version php5
[5.0.0.4]
Modification pour SQLite Sqlite_fetch_row est remplace par sqlite_fetch_array. en php5 fetch_row n'existe plus
[5.0.0.3]
la version firebird est fonctionnel sans les blob, et sans procedure stockées pour l'instant. mais completement focntionnel. tester sur php5, apache et fireBird 1.5
[5.0.0.2]
mise a jour des scripts : suivant la config de php, il pouvait y avoir un warning qui empechait de lire correctement une requete de type update, delete, des requetes sans resultats)
[5.0.0.0]
la grande nouveaute : les procedures stockées sous Oracle et SQLServer.Nous avons fait les tests pour oracle sur un mobile et ca marche tres bien sous SQLServeur j'ai fait les tests sur un SQLServer Express edition 2005.
Exemple Appel de procedure sous oracle :
i est un entier
v_res est une chaîne
// procedure avec 1 parametre en entree et 3 en sortie
CONVSQL:mysqlCloseBind()
CONVSQL:MySQLDefBind(1,"TESTPIN",CONVSQL:PS_VARIN,CONVSQL:PS_TYPEINTEGER,20)
CONVSQL:MySQLDefBind(2,"TESTCHA",CONVSQL:PS_VAROUT,CONVSQL:PS_TYPECHAINE)
CONVSQL:MySQLDefBind(3,"TESTINT",CONVSQL:PS_VAROUT,CONVSQL:PS_TYPEINTEGER)
CONVSQL:MySQLDefBind(4,"TESTDAT",CONVSQL:PS_VAROUT,CONVSQL:PS_TYPECHAINE)
CONVSQL:MySQLDefBind(5,"TESTDBL",CONVSQL:PS_VAROUT,CONVSQL:PS_TYPEDOUBLE)
SI CONVSQL:MySQLExec("TESTPS(:TESTPIN,:TESTCHA,:TESTINT,:TESTDAT,:TESTDBL)",1) ALORS
// recuperation des parametres envoyés
POUR i=2 A 5
CONVSQL:mySQLGetBind(i,v_res)
Trace(v_res)
FIN
// recuperation du recordSet renvoyé par la procedure si il y en a un
CONVSQL:mySQLPremier(1)
TANTQUE PAS CONVSQL:mySQLendehors
Trace(CONVSQL:MySQLLitLigne(1))
CONVSQL:mySQLSuivant(1)
FIN
FIN
CONVSQL:mysqlferme(1)
CONVSQL:mysqlCloseBind()
Exemple d'appel d'une procedue sous SQLServer :
v_reponse est une chaîne
i est un entier
CONVSQL:MySQLCloseBind()
//premier parametre :@IN1
CONVSQL:mySQLDefBind(1,"@sval",CONVSQL:PS_VARINOUT,CONVSQL:PS_TYPECHAINE,"Franck")
// deuxieme parametre : en entree / sortieentier
CONVSQL:mySQLDefBind(2,"@intval",CONVSQL:PS_VARINOUT,CONVSQL:PS_TYPEINTEGER,50)
// troisiem eparametre en entee sortie maischaine
CONVSQL:mySQLDefBind(3,"@floatval",CONVSQL:PS_VARINOUT,CONVSQL:PS_TYPEDOUBLE,2.1416)
v_req est une chaîne
v_req += "TestPSSQLServer"
IF(CONVSQL:MySQLExecPS(v_req,1)) THEN
// recuperation des parametres envoyés
CONVSQL:mySQLGetBind(1,v_reponse)
Trace(v_reponse)
CONVSQL:mySQLGetBind(2,v_reponse)
Trace(v_reponse)
CONVSQL:mySQLGetBind(3,v_reponse)
Trace(v_reponse)
// recuperation du recordSet renvoyé par la procedure si il y en a un
CONVSQL:mySQLPremier(1)
TANTQUE PAS CONVSQL:mySQLendehors
Trace(CONVSQL:MySQLLitLigne(1))
CONVSQL:mySQLSuivant(1)
FIN
ELSE
Erreur(CONVSQL:mySQLGetErrorMessage())
END
CONVSQL:MySQLCloseBind()
CONVSQL:mySQLFerme(1)
[4.0.3.7]
un petit probleme dans le connecte pouvait generer des messages sur php et remplir le log du serveur web
[4.0.3.6] :
Ajout de 2 methode pour transformer les exec en oracle et SQlserver. ces 2 methode vous permettent de pouvoir ecrire des requete ave LIMIT comme sous mySQL. c'est pratique pour avoir un code identique sous les differentes bases
amelioration du connecte de ajout de mySQLListeTables.
les fonctions oracle on ete testees. l'acces PHP4WD fonctionne avec les bases oracles. donc wdmobile aussi.
RAPPEL PHP4WD permet sur toutes les bases accessible de sasisir des requetes avec LIMIT (sur oracle, sqlserver etc ...)
par exe select * from client limit 1,5
pour avoir les 4 premier client a partir du 1
[4.0.3.3]
changement du separateur des colonnes dans le resultat. on utilisait <BR> mais si dans la base il y avait du code HTML ca pouvait se melanger aux balises html du resultats. le separateur est maintenant PHP4WDSEP ca devrait pas se rencontrer dans un texte ou une image nin dans du code HTML
[4.0.3.0]
changement des script pour optimisation du cryptage cote php.
ATTENTION la cle est dans le fichier connect maintenant
modification de la classe pour le nouveau cryptage
Ce projet contient une fenêtre montrant les différentes possibilités de l'accès.
Comment faire une requête et affiche le résultat dans une table
Attention n'oubliez pas de télécharger PHP4WD pour avoir les 2 scripts PHP.
Uploader les sur votre site et pensez a modifier les éléments de connexion et les clés publiques (dans la classe et dans le script).